Android2.2平臺API變化概述

Android 2.2API變化概述

原文出處:http://androidappdocs.appspot.com/sdk/android-2.2.html

                                                 

從原文的Framework API開始翻譯的,前面的部分很簡單不需要翻譯。 不是很清楚的地方保留了原文。

雖然只是小版本號的改變,這個版本還是有了不少變化的:


API 變化概述

應用在外部存儲介質的安裝

Android平臺現在支持應用主動要求安裝在外部存儲設備(如SD卡),以取代將其安裝在設備的內部存儲區。

 

應用開發者可以通過manifest文件裏一個新的<menifest>屬性來說明更希望將應用安裝在哪裏,即android:installLocation。這個屬性支持三個值:”internalOnly”,”preferExternal”,

”auto”。可能的話在安裝時,系統會檢查android:installLocation的值,根據傾向的位置安裝應用的.apk。如果應用要求安裝在外部,系統會將其安裝在外部存儲介質的一個私有加密的分區上。一旦應用的.apk被安裝在外部,系統會通過用戶設定裏的應用管理(Manage Applications)來使用戶可以在需要的時候將其移動到內部存儲區域,反之也是一樣。

 

默認情況下,系統將所有應用安裝在設備的內部存儲區,那些明確要求安裝在外部的除外。這意味着系統總是將先前的應用安裝在內部存儲區,因爲它們沒有android:installLocation屬性。不過必要的時候,仍然可以通過編譯和配置來控制先前的應用,針對舊版本的平臺將其安裝在內部,針對Android2.2及以後的版本將其安裝在外部。

 

更多的關於設置應用的安裝位置的信息,包括什麼類型的應用應當安裝在外部,什麼類型應用應當安裝在內部,請參考App Install Location 文檔。

 

備份管理(Backup Manager)

平臺現在提供一個通用的備份服務,應用可以用來備份和恢復用戶數據,使得用戶可以在更換設備或者重新安裝應用時保留他們的數據。Backup Manager負責應用的數據在雲端備份存儲區域的傳輸。Backup Manager可以存儲任何類型的數據,從二進制數據到文件,並且備份和恢復的操作是以原子操作的方式進行的。更多信息請參考Data Backup

 

圖像(Graphics)

新增加OpenGL ES2.0 API android.opengl.GLES20

新增加ETC1ETC1UtilETC1Util.ETC1Texture類,增加了一些ETC1紋理壓縮使用的設備方法。

新增加ImageFormat類。

新增加YUV圖像格式API,支持從YUVJPEG的壓縮,以及相關YUV數據的操作。

 

媒體(Media)

新增了一些android.media.AudioManager裏的接口,用來管理audio focus,傳輸控制,音頻focus的瞬間丟失和閃爍。

新增音頻和SCO的通信用的廣播intent—ACTION_SCO_AUDIO_STATE_CHANGED及額外的新指示狀態。

新增了一些SoundPool裏的接口,用來檢測聲音加載是否完成。

新增了一些SoundPool裏的接口,用來暫停和恢復音頻。

新增了一些MediaRecorder裏的接口,用來指定音頻設置,包括:channel數,編解碼率,取樣率。

新增了針對媒體數據庫添加文件的接口,這樣這些文件可以自動被掃描到。參考:MediaScannerConnection.scanFileMediaScannerConnection.OnScanCompletedListener

 

語音識別和第三方識別引擎

平臺提供了新的語音識別接口,允許應用可以和可用的語音識別器進行更豐富的交互。例如,新接口可以將語音識別深度整合進一個輸入法編輯器(IME)

平臺還提供了一個RecognitionService基類允許第三方開發者創建識別引擎插件。

RecognitionListener接口,用來接收相關回調。

新的RecognizerIntent extras用來使請求應用指定如傾向語言,最小長度(毫秒單位)等細節。

 

照相和錄像

修改了照相取景接口,提高取景流程的性能。

新增了照相顯示方向,照相機現在可以工作在豎直方向了。

新增了一些android.hardware.Camera的接口用來管理縮放級別。

新增了一些android.hardware.Camera.Parameters的接口,用來查詢和設定照相機設備設置,如焦距,曝光,縮放級別,取景角度等。

新增了視頻和圖像的縮略圖工具。

新增CameraProfileCamcorderProfile類使應用可以檢測硬件照相設備的能力。

android.media.ExifInterface裏新增加了對檢索GPS和焦距的支持。

 

設備策略管理(Device policy manager

新的設備策略管理接口允許開發者編寫“設備管理者”應用,可以控制設備的安全特性,如最短密碼長度,數據清除等。用戶可以選擇他們設備上可以使用的管理者。更多信息可以看android.app.admin類或者DeviceAdminSample.java裏的應用示例。

 

UI平臺(UI Framework

新增UI模式“汽車模式”(car mode)和“夜間模式”(night mode),新增UiModeManager使應用可以針對指定的用戶模式調整UI

新增ScaleGestureDetector允許Views可以通過提供的MotionEvents檢測和處理包括多點觸摸在內的手勢變化信息。

改進了MotionEvent對象報告多點觸摸事件的方式。

佈局屬性fill_parent重命名爲match_parent,這個改動影響到了XMLJava代碼(ViewGroup.LayoutParams)。注意,平臺針對舊應用仍然保留對fill_parent的支持。

新增佈局屬性tabStripEnabledtabStripRighttabStripLeft,開發者可以用來定製TabWidget的底部strip

更好的支持Activity使用的受控對話框。

 

帳戶和同步(Accounts and Sync)

新的方法AddPeriodicSync(),可以使用特定的賬戶,鑑權和指定的頻率設置一個週期性的同步調度操作。

 

新的清單元素和屬性(New menifest elements and attributes)

指定應用的安裝傾向:

<manifest>裏新增android:installLocation屬性,指定應用默認的安裝位置。

管理用戶數據備份:

<application>裏新增android:backupAgent屬性,指定應用用來處理backup/restore操作的BackupAgent子類的組件名。

<application>裏新增android:restoreAnyVersion屬性,Boolean值,用來表明應用是否準備嘗試恢復所有的備份數據,甚至備份是很明顯來自一個比當前設備上還要新的版本。

管理平臺的JIT編譯:

<application>裏新增android:vmSafeMode屬性,Boolean值,指定是否在允許該應用時禁止JIT編譯優化。

 

 

許可(Permissions)

android.permission.BIND_DEVICE_ADMIN – 任何設備管理廣播接收者必須要求這個permission,以確保只有系統可以和它交互。

android.permission.KILL_BACKGROUND_PROCESSES – 允許應用調用killBackgroundProcesses(String)

android.permission.BIND_WALLPAPER – 所有的WallpaperService必須要求這個permission,保證只有系統可以和它交互。

android.permission.SET_TIME – 允許應用設定系統時間。

 

 

 

 

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章