Time of Update: 2018-12-03
複製結構性資料為了複製和粘貼複雜的資料,你可以建立一個繼承ContentProvider組件的內容提供器。你還應該把要放到剪貼簿上的URI編碼,以便它指向你想要提取的資料。另外,你必須要考慮你的應用程式的存在狀態:1. 如果你已經有了一個內容提供器,你可以給它添加功能。你可能只需要修改它的query()方法來處理粘貼資料的應用程式所輸入的URI。為了處理“copy”URI的模式,也可能會修改這個方法。2. 如果你的應用程式維護了一個內部的資料庫,你可能想要把這個資料庫移到內容提供器中,為從中複製
Time of Update: 2018-12-03
本文譯自:http://developer.android.com/guide/topics/text/spell-checker-framework.htmlAndroid平台提供能夠讓你在應用程式中執行和訪問拼字檢查的拼字檢查器架構。這個架構是由Android平台提供的文本服務API之一。要在應用程式中使用該架構,你就要建立一個特殊的Android服務類型,該服務會產生一個拼字檢查器的session對象。基於你提供的文本,該session對象會返回由拼字檢查器產生的拼字建議。拼字檢查器的生命
Time of Update: 2018-12-03
使用資料庫Android提供完全的對SQLite資料庫的支援。你在應用程式中建立的任何資料庫,應用程式中的任何類都可以通過名稱來訪問。推薦建立SQLite資料庫的方法是建立一個SQLiteOpenHelper類的子類,並重寫onCreate()方法,在這個方法中你可以執行SQLite命令來建立資料庫中的表。例如:public class DictionaryOpenHelper extends SQLiteOpenHelper { private static final int
Time of Update: 2018-12-03
本文譯自:http://developer.android.com/training/basics/firstapp/creating-project.htmlAndroid項目包含了組成Android應用程式原始碼的所有檔案。Android SDK工具使用一套預設的項目目錄和檔案,能夠很容易的建立一個新的Android項目。本節課介紹如何使用Eclipse(帶有ADT外掛程式)或命令列的SDK工具來建立一個新的項目。注意:你應該已經安裝了Android
Time of Update: 2018-12-03
本文譯自:http://developer.android.com/training/basics/supporting-devices/screens.htmlAndroid使用通常使用兩個屬性來對裝置的螢幕進行分類:尺寸和密度。你應該設想安裝你的應用程式的裝置螢幕的尺寸和密度的範圍。如,你應該包含一些可選的資源,來最佳化你的應用程式在不同尺寸和密度螢幕上的顯示外觀。1. 四種一般性的尺寸:small、normal、large、xlarge2. 四種一般性的密度:low(ldpi)、mediu
Time of Update: 2018-12-03
處理不同的感應器器配置Android不給裝置指定標準的感應器配置,這就意味著製造商能夠把任何他們想要的感應器配置包含到他們的Android裝置中。因此,裝置能夠包含配置廣泛的各種感應器。例如,摩托羅拉的Xoom有一個壓力感應器,但是三星的Nexus S卻沒有。同樣Xoom和Nexus S都有陀螺儀,但是HTC的Nexus
Time of Update: 2018-12-03
本文譯自:http://developer.android.com/guide/topics/connectivity/nfc/advanced-nfc.html本文介紹一些進階的NFC專題,如多樣的NFC標籤技術、編寫NFC標籤、以及前台調度,前台調度允許在前台的應用程式優先調度Intent事件,即使還有其他的過濾同樣的Intent事件的應用程式存在。Android所支援的NFC標籤技術在使用NFC標籤和Android裝置來進行工作的時候,使用的讀寫NFC標籤上資料的主要格式是NDEF。當裝置
Time of Update: 2018-12-03
本文譯自:http://developer.android.com/guide/topics/data/data-storage.htmlAndroid為持久化的儲存資料提供了幾種可選擇的方案。具體選擇哪種方案要依賴你的特定需求,如資料是你的應用程式私人的,還是其他的應用程式(和使用者)可訪問的,以及資料所需要的空間等。以下是可選擇的儲存方案:Shared Preferences 用鍵-值對的形式儲存私人的未經處理資料。Internal Storage
Time of Update: 2018-12-03
截取硬體的按鍵事件即使IME視窗沒有明確的焦點,它也會首先接收到硬體的按鍵事件,並能夠選擇是使用還是把它們轉寄給應用程式。例如,在文本編排期間,你可以使用方向鍵在IMEUI的候選區進行導航。你也可以捕獲回退鍵來消除從IME視窗彈出的任何視窗。重寫onKeyDown()和onKeyUp()方法來擷取硬體的按鍵事件。對於不想自己處理的按鍵,要記住調用super()方法。建立IME的子類型子類型運行IME來展現多種輸入模式以及由IME所支援的語言。一個子類型可以表現為:1. 一種語言環境,如en_US
Time of Update: 2018-12-03
本文譯自:http://developer.android.com/training/basics/supporting-devices/languages.html#UseString從你的應用程式代碼中把UI的字串提取到一個外部檔案中是一個很好的實踐,Android系統在每個Android工程中用一個資來源目錄讓這件事變的很容易。如果你使用Android的SDK工具建立工程,該工具會在工程的頂層建立一個叫res/的目錄。在這個res/的目錄中是各種資源類型的子目錄。還有一些預設的檔案,如re
Time of Update: 2018-12-03
調整儲存電池電量和資料交換的模式在你測試你的應用程式時,你可能會發現,為了提供良好的位置和效能,可能需要對模式進行某些調整。以下是在這兩者之間尋求良好平衡時可能要改變的一些事情。減少視窗的尺寸用一個較小的視窗來允許監聽位置的更新,意味著與GPS和網路位置伺服器進行的互動較少,這樣就能夠延長電池電量使用周期。但它也允許從較少的位置中選擇一個最好的估算結果。給位置提供器設定較低的更新頻率減少位置更新在視窗中顯示的頻率也能夠改善電池利用效率,但會影響精確度。這個值的權衡要依賴於如何使用你的應用程式。通
Time of Update: 2018-12-03
提供類比的位置資料在開發你的應用程式時,一定要測試你擷取使用者位置的模式能否進行良好的工作。最容易的做法是使用真實的Android裝置,但是,如果沒有裝置,你依然能夠通過在Android模擬器中類比位置資料來測試基於位置的功能。有三種不同的方法把類比位置資料發送給你的應用程式:使用Eclipse;DDMS或模擬器控制台中的”geo”命令。注意:提供的類比位置資料是作為GPS位置資料來注入的,因此為了擷取類比位置資料來工作,你必須要申請GPS_PROVIDER類型的位置更新。使用Eclipse選擇
Time of Update: 2018-12-03
API概要因為該附加的類庫是一個針對架構API的封裝,所以支援USB從屬模式的類都是類似的。即使你正在使用這個附加類庫,你也能夠使用android.hardware.usb的參考文檔。注意:但是,在附加類庫和架構API之間有一點使用上的差異,你應該注意。下表介紹了支援USB從屬模式API的類:類介紹UsbManager允許你列舉被串連的USB附件,並跟它們通訊。UsbAccessory代表一個USB附件,並包含了訪問該附件標識資訊的方法。Add-on類庫和平台API之間在使用上的差異在使用Goo
Time of Update: 2018-12-03
本文譯自:http://developer.android.com/guide/topics/sensors/sensors_overview.html大多數的Android裝置都有內建的測量運動、方向、和各種環境條件的感應器。這些感應器具有提供高精度和準確度的未經處理資料的能力,可用於監視裝置在三維方向的移動和位置、或者監視裝置周圍環境的變化。例如,一個遊戲可能要從重力感應器中讀取軌跡,以便推斷出複雜的使用者手勢和意圖,如傾斜、震動、旋轉或擺動等。同樣,有關天氣的應用程式可能要使用裝置的溫度感
Time of Update: 2018-12-03
跟附件一起工作當使用者把USB附件串連到Android裝置時,Android系統能夠判斷你的應用程式是否對接入的附件感興趣。如果感興趣,你能夠跟期望的附件建立通訊。以下是你的應用程式要做的事情:1. 通過使用過濾附件裝置接入事件的Intent過濾器或列舉已經接入的附件裝置來發現對應的附件裝置;2. 如果不是已知的附件裝置,就要詢問使用者是否允許跟該附件裝置通訊;3. 通過讀寫對應介面端點上的資料來跟附件裝置通訊。發現附件裝置你的應用程式既可以通過使用者接入附件裝置時的Intent通知,也可以通過
Time of Update: 2018-12-03
操作欄是一個標識應用程式和使用者位置的視窗功能,並且給使用者提供操作和導航模式。在大多數的需要突出展現使用者操作或全域導航的Activity中,你應該使用操作欄,因為操作欄能夠跨應用程式給使用者提供一致的介面,並且系統能夠很好根據不同的螢幕配置來適應操作欄的外觀。你能夠用ActionBar的對象的API來控制操作欄的行為和可見度,這些API被添加在Android3.0(API 層級
Time of Update: 2018-12-03
感應器架構通過使用Android架構,你能夠訪問這些感應器,並擷取原始的感應器資料。感應器架構是android.hardware包的一部分,並且包括以下類和介面:1. SensorManager使用這個類來建立一個感應器服務的執行個體。這個類提供了各種用於訪問和監聽感應器的方法,它還提供了幾個感應器常量,用於報告感應器的精度、設定資料擷取的速率以及校準感應器等。2. Sensor使用這個類來建立一個特殊感應器的執行個體。它提供了判斷感應器能力的各種方法。3. SensorEvent系統使用
Time of Update: 2018-12-03
運行Android應用程式依賴兩件事:1.你是否有實際的Android裝置;2.你是否在使用Eclipse。本節課要講解如何在實際的裝置和Android模擬器上安裝和運行你的應用程式。在運行你的應用程式之前,你要先看一下Android工程中的幾個目錄和檔案:AndroidManifest.xml資訊清單檔介紹了該應用程式的基本特徵,並定義了應用程式中每個組件。在以後的培訓課程中,你會在這個檔案中學到更多的聲明。src/這是你的應用程式的主要源碼檔案的目錄。預設情況,該目錄中包含了一個使用應用程式
Time of Update: 2018-12-03
本文譯自:http://developer.android.com/training/managing-audio/audio-focus.html考慮如何跟多個潛在的音頻播放程式互動是至關重要的。要避免每個音樂播放器同時播放,Android使用音頻焦點(Audio
Time of Update: 2018-12-03
感應器的可用性感應器的可用性不但在不同硬體之間有變化,而且不同的Android版本之間也可能有變化。這是因為Android感應器的引入需要有幾個平台Release的過程。例如,某些感應器在Android1.5(API Level 3)中被引入,但有些並沒有被實現,直到Android2.3(API Level 9)時才可用。同樣,一些在Android2.3(API Level 9)和Android4.0(API Level 14)被引入的感應器,其中有兩個已經被棄用,並用更新、更好的感應器來替代。