Time of Update: 2017-02-27
App->Service->Foreground Service Controller和Windows中的Service類似,Android系統也提供了一種稱為“Service”的組件通常在後台運行。Activity 可以用來啟動一 個Service,Service啟動後可以保持在後台一直運行,即使啟動它的Activity退出或是切換到別的應用Service也能保持運行狀 態。Service 可以以兩種形式存在:Started
Time of Update: 2017-02-27
這個例子單獨運行時(從Launcher啟動),這時接受到的Intent不含ACTION_SEARCH,和一個普通的Activity沒有什麼兩樣。在例(36)時,它是作為查詢處理Activity用於顯示使用者查詢內容。 SearchQueryResults 在AndroidManifest.xml定義為 Searchable Activity:<intent-filter><action
Time of Update: 2017-02-27
Search (搜尋)是Android平台的一個核心功能之一,使用者可以在手機搜尋線上的或是本地的資訊。Android平台為所有需要 提供搜尋或是查詢功能的應用提供了一個統一的Search Framework來協助實現Search功能。Search Framework的UI可以有兩種形 式:螢幕頂部的Search Dialog:如Google
Time of Update: 2017-02-27
前篇文章Android ApiDemo樣本解析(31):App->Preferences->Launching preferences 中用到了Advanced preferences 中定義的AdvancedPreferences。本篇具體介紹AdvancedPreferences, 這個例子稱為Advanced ,是因為 它涉及到了自訂Preference, 並在一個背景工作執行緒中重新整理某個Preference的值。Preference 為顯示在
Time of Update: 2017-02-27
DefaultValues 介紹了如何在XML中定義Preference的預設值。<CheckBoxPreferenceandroid:key=”
Time of Update: 2017-02-27
Preferences之間可以定義依賴關係,在第一個例子中已有說明。對應定義了依賴關係的Preferences,依賴指向的 Preference可以稱為Parent preference ,只有在Parent preference選中時,子Preference 才可以配置,否則子Preference 被Disabled,顯示為灰色。這個例子對應的Preferences定義如下:<PreferenceScreenxmlns:android=”
Time of Update: 2017-02-27
前給例子介紹了如何使用PreferenceActivity 來顯示修改應用偏好,使用者對Preferences的修改自動儲存在應用對應的 Shared Preferences中。本例介紹了如何從一個Activity來取得由PreferenceActivity 的Preference值。 比如在實際 應用中通過PreferenceActivity介面來取得使用者偏好或是配置。因為希望從PreferenceActivity傳回值,所以使用 startActivityForResult
Time of Update: 2017-02-27
這個例子的Icons Only 和 Icons and marquee 沒有什麼特別好說明的。而Use Remote views in balloon 介紹了可 以自訂在Extended Status bar顯示Notification的Layout,Extended Status Bar預設顯示Notification 是一個表徵圖後接文 字,對應大多數情況是夠用了。但如果有需要也可以使用自訂的Layout在Extented Status bar顯示Notification,方法是通
Time of Update: 2017-02-27
除了使用Notification之外,Toast也可以用來通知使用者某件事發生了,Toast為一個透明的對話方塊,可以在螢幕上顯示幾秒 鐘後自動消失。功能上有點類似Tooltip。 Toast的一個特點時不會擷取螢幕焦點(Focus)從而不會影響應用的運行。NotifyWithText介紹了使用Toast的基本方法,Toast在螢幕上顯示的時間間隔是可以控制的。Show Short Notification 和Show Long
Time of Update: 2017-02-27
App->Notification->Notifying Service Controller這個例子介紹了如何在Service中使用Notification,相關的類為NotifyingController和NotifyingService。在 Service中使用Notification的基本方法和前一例子相同。我們暫時還沒有介紹Service的用法。 Service的基本概念和Windows
Time of Update: 2017-02-27
應用程式可以使用Notifications來通知使用者某個事件發生了(如收到簡訊)。類NotificationManager 用來處理 Notification, NotificationManager可以:在Status Bar上顯示一個新的表徵圖。在Extended status bar 視窗上顯示附加資訊或是啟動一個Activity。顯示背光/LED。使裝置震動。發出聲音等。對於一些沒有UI的應用程式組件(如Broadcast Receiver,
Time of Update: 2017-02-27
本例示範了如何從Menu 資源(XML 定義)展開功能表項目。這個例子的onCreate 採用了使用代碼來建立Activity 介面的方法 而通常的方法是採用Layout資源的方法。如果你有興趣瞭解一下如何使用代碼建立UI,可以參考本例的onCreate方法,但這不是 本例的示範目的。使用XML 菜單資源來展開菜單的一般步驟是1. 在/res/menu目錄下定義菜單資源,本例中定義 了10種不同風格的功能表項目:”Title only”, “Title
Time of Update: 2017-02-27
Android 作業系統對於<intent-filter>含有下列屬性的Activity會在應用程式管理器(Launcher)顯示一項,一般這 個Activity對應於某個應用的主Activity。<action android:name=”android.intent.action.MAIN” /><category android:name=”android.intent.category.LAUNCHER” /&
Time of Update: 2017-02-27
Intents 這個例子的代碼非常簡單:Intent intent = new Intent(Intent.ACTION_GET_CONTENT); intent.setType("audio/*"); startActivity(Intent.createChooser(intent, "Select music"));它使用了Intent.ACTION_GET_CONTENT 和 MIME 類型來尋找支援audio/* 的所有Data
Time of Update: 2017-02-27
這個例子的主Activity定義在AlertDialogSamples.java 主要用來介紹類AlertDialog的用法,AlertDialog提供的功能是多 樣的:顯示訊息給使用者,並可提供一到三個按鈕(OK, Cancel ,Yes ,No)用於選擇或是顯示警告。顯示一個列表 以供使用者選擇,列表中可以是Radio Button (單選),Check button
Time of Update: 2017-02-27
Device Admin樣本介紹了類DeviceAdminReceiver,DevicePolicyManager和ActivityManager。類 DevicePolicyManager 用於管理Android裝置定義的一些策略,主要指密碼定義的長度,密碼是否要含大寫字母,小寫字母等設 置密碼需要滿足的規範,鎖定裝置或是清除所有使用者資料,這個類一般需要配合DeviceAdminReceiver來使用。
Time of Update: 2017-02-27
Alarm Service和Alarm Controller 例子非常類似,只是Alarm Service是用來Schedule一個Service,而前面的例子是來 Schedule一個Broadcast。前面說過PendingIntent ,可以來描述一個Activity ,Broadcast,或是一個Service。本例是 Schedule一個Alarm事件來啟動一個Service。這通常用於來執行一個較費時的任務。關於如果編寫一個Service將在後面
Time of Update: 2017-02-27
Alarm Controller示範如何在Android應用中使用Alarm事件,其功能和java.util.Timer ,TimerTask類似。但Alarm可以即使 當前應用退出後也可以做到Schedule一個任務在指定的時刻執行。AlarmManager 用於管理Alarm事件,支援單次執行或 重複執行。 和大都數Android服務一樣,AlarmManager也是通過getSystemService來擷取服務物件:AlarmManager am =
Time of Update: 2017-02-27
Wallpaper介紹一個Activity如何通過Style把系統Wallpaper作為當前Activity的背景。這是WallpaperActivity在 AndroidManifest.xml中的定義:<activity android:name=”.app.WallpaperActivity”android:label=”
Time of Update: 2017-02-27
前面在Android RoboGuice 使用指南(1):概述 對應Roboguice做了簡要的介紹 ,之後介紹了Google Guice的基本用法,Roboguice是基本Android和Google Guice開發的適用於Android平台的Dependency Injection 開發包,下圖為使用 Roboguice開發應用的基本框圖:Android應用程式可以直接使用Google Guice來為普通類進行注入操作,而對