Android 1.5 API變更概要:
UI framework
- Framework for easier background/UI thread interaction
- 新SlidingDrawer 組件
- 新HorizontalScrollview 組件
AppWidget framework
- 一些關於創建桌面AppWidget 的API.
- 提供根據自定義的內容創建LiveFolders的API
Media framework
- 原聲錄音和回放 APIs
- 交互式的MIDI 回放引擎
- 開發者使用的視頻錄像API (3GP format).
- 視頻相片分享 Intents
- 媒體搜索Intent
Input Method framework
- 輸入法服務framework
- 文本預測引擎
- 提供具有下載能力的IME給使用者
Application-defined hardware requirements
- 應用可定義硬件需求,應用程序可以定義 說明此程序需要什麼硬件需求.比如是否需要物理鍵盤或者軌跡球.
Speech recognition framework
- 支持語音識別庫.
Miscellaneous API additions
- LocationManager -應用可以接收到位置改變的信息.
- WebView - 觸摸start/end/move/cancel DOM 事件的支持
- 重建Sensor Manager APIs
- GLSurfaceView - 創建OpenGL 應用更加方便的framework .
- 軟件升級安裝成功的Broadcast Intent - 更加平和優秀的軟件升級體驗
Android 1.6 API變更概要:
UI framework
- 新的類 android.view.animation 控制動畫行爲:
- AnticipateInterpolator
- AnticipateOvershootInterpolator
- BounceInterpolator
- OvershootInterpolator
- 新的XML 屬性androidnClick ,從一個layout文件描述一個view的 View.OnClickListener.
對不同分辨率的屏幕的新的支持. 對於Bitmap和Canvas會執行有針對性的縮放行爲.該框架會根據屏幕分辨率和其他內容自動縮放bitmap等.
要在你的應用中使用Android 1.6包含的API的話你必須要設置 “4”屬性在manifest的 元素中
Search framework
- 應用程序現在可以公開的有關內容,作爲建議放入快速搜索框,新的設備範圍內的搜索功能,是可從主屏幕搜索。爲了支持這一點,搜索框架增加了新的屬性,可搜索的元數據文件。有關完整的信息。
- Accessibility framework
- New android.accessibility package that includes classes for capturing accessibility events and forwarding them to an AccessibilityService handler.
- New AccessibilityService package that lets your application track user events and provide visual, audible, or haptic feedback to the user.
- Gesture Input
- 新的gesture API :創建,識別,讀取,保存手勢.
- Text-to-speech
- 新的android.speech.tts 包提供了TTS文本朗讀功能,從一個文本生成一個聲音文件的回放.
- Graphics
- android.graphics 中的類,現在支持爲不同的屏幕尺寸進行縮放.
- Telephony
- 新的SmsManager 發送和接受短信.
- Utilities
- 新的DisplayMetrics 字段決定當前設備屏幕的密度.
- Android Manifest elements
- 新的 元素
- 新的 標籤
- glEsVersion: 指定最小openGL ES的版本
- 元素的新的屬性:
- 目標SDK版本: 應用程序能夠指定目標版本. 它能夠運行在舊版本(低至minSdkVersion), 他是按照應用程序的指定版本開發的. Specifying this version allows the platform to disable compatibility code that is not required or enable newer features that are not available to older applications.
- maxSdkVersion: 指定設計這個程序運行的最高版本 重要: 當使用 這些屬性前請認真閱讀文檔.
- New Permissions
- CHANGE_WIFI_MULTICAST_STATE: 允許應用進入Wi-Fi 多點傳送模式.
- GLOBAL_SEARCH: 允許全局搜索系統,以便精確確定 content provider.
- INSTALL_LOCATION_PROVIDER: 允許應用在Location Manager.安裝一個location provider.
- READ_HISTORY_BOOKMARKS: 允許應用讀取(並不能寫) 用戶的瀏覽記錄和書籤
- WRITE_HISTORY_BOOKMARKS: 允許應用寫入 (並不能讀) 用戶的瀏覽記錄和書籤
- WRITE_EXTERNAL_STORAGE: 允許程序寫入外部存儲器.應用程序使用API級別3下將默認授予此權限 (這對用戶可見的); 應用程序使用API level4 或者更高的,必須要明確的宣告此權限.
Android 2.0 API變更概要:
- Bluetooth
- 開啓關閉藍牙
- 設備和服務發現
- 使用 RFCOMM連接一個可插拔的設備收發數據
- 公佈RFCOMM 服務和監聽接收 RFCOMM 連接
- Sync adapters
- 新的APIs, 同步橋接器連接任何backend
- Account Manager
- 集中的帳戶管理器 API ,安全的儲存和使用可信的tokens/passwords
- Contacts
- 新的通信APIs 允許獲取多個賬戶的數據.
- 新的快速通信framework APIs 允許開發者在他們的應用中創建通信標記, 一鍵點擊標記打開一個新的窗口展示一個如何聯繫當前人的列表.
- WebView
- 不贊成使用的類: UrlInterceptHandler, Plugin, PluginData, PluginList, UrlInterceptRegistry.
- Camera
- 顏色模式, 場景模式 閃光模式, 焦點模式, 白平衡 旋轉和其他設置的新的特徵.
- 當縮放級別改變的時候,會回調新的縮放回調接口.
- Media
- MediaScanner現在爲所有圖片生成縮微圖when they are inserted into MediaStore.
- 新的縮微圖 API : 檢索需要的圖片和視頻的縮微圖.
Other Framework
- android.R.style 中新的系統主題,能夠更加簡單的顯示當前acitivities的系統壁紙或者保持之前的activity在後臺.新的壁紙管理器API 取代並且增加了wallpaper APIs ,我們可以允許我們的應用要求設置系統壁紙.
- 新的Service APIs幫助應用準確的處理Service 生命週期 ,在指定的低內存狀態下service將會被關閉.
o Service.setForeground() 不推薦使 用,並且現在這個方法並沒有實際執行. .他被一個新的API所取代, startForeground(), that helps (and requires) associating an ongoing notification with the foreground state. - MotionEvent 如果設備允許的話,MotionEvent 會返回多點觸摸信息.最多可同時獲取3點
- KeyEvent 現在有了新的按鍵發送 APIs,去幫助實現 action-on-up 和長按鍵行爲, 一個新的機制取消按鍵 (虛擬按鍵).
- WindowManager.LayoutParams 現在有了新的常量允許窗口能夠在被鎖或者其他的狀況中喚醒屏幕,這個允許程序能夠讓例如鬧鐘等的應用實現喚醒設備.
- New Intent APIs 廣播設備的對接狀態,當這個設備放在桌面或者停車場,允許程序啓動特殊的activity.
Key events executed on key-up
Android 2.0能夠使用虛擬按鍵HOME, MENU, BACK和SEARCH,而非物理按鍵,爲了讓用戶在他們的設備中獲得最好的用戶體驗,android平臺現在把這些按鍵執行加入到了key-up,做了 key-down/key-up 配對,而非只有key-down.,這有助於防止意外按鈕事件,並讓使用者按下按鈕區域,然後拖動而不生成一個事件出來。
這種改變只會影響你的應用程序一點,如果它是攔截按鈕事件,最好用key-down,而不是key-up.。特例,如果您的應用程序攔截BACK 鍵,你應該確保你的應用妥善處理按鍵事件。
Android 2.0.1 API變更概要:
新的快速聯繫人標記風格——(quickContactBadgeStyle)* 屬性
讓應用的QuickContactBadge 組件接收必要的風格.當在manifest裏面宣佈了filter,取消了支持 ACTION_CONFIGURATION_CHANGED 廣播 ,如果想要去接收這個廣播, 這個應用必須註冊 registerReceiver(BroadcastReceiver, IntentFilter).
性能上的改變:
- Bluetooth
- 改變了 ACTION_REQUEST_ENABLE 和ACTION_REQUEST_DISCOVERABLE的返回值
ACTION_REQUEST_ENABLE 如果藍牙是成功開啓的,現在返回RESULT_OK .如果使用者拒絕開啓藍牙的請求,則會返回RESULT_CANCELED .
ACTION_REQUEST_DISCOVERABLE 如果使用者拒絕啓動藍牙或者藍牙的可發現功能,則返回 RESULT_CANCELED .
- 改變了 ACTION_REQUEST_ENABLE 和ACTION_REQUEST_DISCOVERABLE的返回值
- 通訊
- The ACTION_INSERT Intent returns RESULT_CANCELED in cases where the contact was not persisted (例如剪切保存到一個空的操作裏面).
修復錯誤:
- 資源
- 現在framework可以正選擇應用資源的根據API等級劃分的文件夾(drawable-v4是API level4版本用的資源).現在的版本這個功能不能正常工作的問題已經修復.
- Contacts
- The ACTION_INSERT Intent now returns the appropriate kind of URI when the request is made using the (now deprecated) Contacts APIs.
- Other Framework fixes
- getCallingPackage() 現在正確的報告包名, 而不是進程名.
Android 2.1 API變更概要:
- Live Wallpapers 動態桌面
- 以下增加的API可以提供你開發動態的桌面:
- 新android.service.wallpaper 包.
- 新WallpaperInfo 類.
- 升級的WallpaperManager.
- 附加說明,:
如果你的應用相提供Live Wallpapers的功能, 你必須記得增加一個 元素到你的應用manifest裏面. 宣佈這個屬性android:name=”android.software.live_wallpaper”. - 電話
- 新的SignalStrength 類提供當前網絡信號的一些信息這些信息可以從onSignalStrengthsChanged(SignalStrength) 回調.
- 新的onDataConnectionStateChanged(int, int) 回調.
- Views
- 新的View 方法isOpaque() 和onDrawScrollBars(Canvas).
- 新的RemoteViews 方法addView(int, RemoteViews) 和removeAllViews(int).
- 新的ViewGroup 方法isChildrenDrawingOrderEnabled() 和setChildrenDrawingOrderEnabled(boolean).
- WebKit
- 新的WebStorage 方法操作網頁數據緩存.
- 新的GeolocationPermissions 方法獲取 Geolocation permissions 的出處, 把他們設置到 WebView上.
- 新的WebSettings 方法管理軟件緩存, 網頁緩存 和屏幕的縮放.
- 新的WebChromeClient 方法處理視頻, 歷史記錄, 自定義view, 軟件緩存限制還有其他
Android 2.2 API變更概要:
- 對MicrosoftExchange更好的支持。
Android的幾個新特性使之更適於Exchange企業環境。其中一些新特性列舉如下:
- 基於用戶名/密碼的Exchange帳號自動檢測
- 支持Exchange日曆的同步
- 改進的安全性,管理員可以跨越設備強制應用安全策略
- 恢復出廠設置——管理員可以將設備重置爲出廠設置,這樣就能在設備被偷或丟失後擦除上面的敏感數據了
- 全局的地址列表查找——可以根據服務器端返回的列表幫助用戶自動填充收件人的郵件地址
設備管理API
Android 2.2改進並新增了大量的設備管理API,開發者可以將其用在應用當中:
- 應用數據備份API
- 可以將應用數據備份到雲中。如果用戶切換到另一個Android設備,他就可以從之前的設備中恢復數據。
- Cloud-to-Device消息API
- 雲中的用戶/系統可以憑藉這種增強在設備上觸發動作。該特性可以將移動警告發給手機並且支持雙向的推同步服務。
- 可以直接在外部的內存設備(SD卡)上安裝應用,還可以將應用從內部遷移到SD卡上,反之亦然。
- 網絡共享。Android 2.2可以通過一臺Android電話提供的熱點將多個服務連接到Internet上。
- 性能。藉助於新式的Dalvik JIT編譯器,對於CPU密集型應用來說,Android 2.2的速度要比Android 2.1快2~5倍。根據Linpack基準測試結果,安裝了Froyo的Nexus One電話可以達到37.5 MFlops,而同樣的電話如果使用Android 2.1的話纔有6.5 MFlops。
- 更快的瀏覽速度。由於瀏覽器現在使用了Chrome V8引擎,JavaScript代碼的處理速度要比Android 2.1快2~3倍。
- 從瀏覽器中訪問設備API。
現在可以直接從瀏覽器中訪問大量的設備API,如加速器、相機、聲音識別、翻譯等,這樣Web應用就能以前所未有的方式與設備交互了。比如說,用戶可以在拍完照後將其上傳到網上,而這一切都是在瀏覽器內完成的。
Android 2.3變更概要
Android 2.3的API Level爲9,有關所有的API改變,幫助大家總結如下:
新增包
- android.media.audiofx 混響音效
- android.net.sip VOIP支持
- android.nfc NFC支付支持
- android.os.storage 存儲管理類
詳細的請查看 Android 2.3新特性及改進列表,已正式發佈 一文
移除類
- VMDebug
- VMRuntime
- VMStack
- Zygote
更多改進
- Extra Large Screens
目前Android 2.3將支持更大的屏幕尺寸定義,開發者可以通過 元素在你的 manifest files 中定義,新增的 xlarge 標記將支持更多的屏幕尺寸, 有關具體的使用方法,Android開發網將在今後的文章中講到。- - - Graphics
- Content Providers
- Location
- Storage
- Package Manager
- Telephony
Android 2.3 可以讓應用本地訪問聲明週期和窗口
NativeActivity是一個新的Activity類整個聲明週期的方法可以通過本地C/C++代碼直接訪問,使用Android NDK r5或更高版本即可支持。
有關最新版的NDK下載和NDK參考文檔可以在 Android開發包下載 中找到。
有關Dalvik運行時庫
新增manifest元素和屬性
新增 Permissions
有關硬件的改進
- android.hardware.audio.low_latency — 允許使用 low-latency 音頻管道在設備和可以提供敏感的延遲在聲音輸出輸出上。
- android.hardware.camera.front
— 前置攝像頭控制類. - android.hardware.nfc
— NFC近距無線設備管理. - android.hardware.sensor.barometer
— 氣壓計感應器支持類The application uses the device’s barometer. - android.hardware.sensor.gyroscope
— 陀螺儀感應器支持類 The application uses the device’s gyroscope sensor. - android.software.sip
— SIP VoIP類. - android.software.sip.voip
— 使用基於 SIP的 VoIP 服務. - android.hardware.touchscreen.multitouch.jazzhand
— 增強的多點觸控類,可以實現跟蹤5個或更多的點.
以上是Android 2.3薑餅的API改變大全,有關具體的新增功能實用,將在今後的文章和Android進階開發系列教程中逐一介紹。
Android 3.0 API變更概要:
Android 3.0 SDK中新增了哪些API呢? 我們總結下平板系統honeycomb中的新特性, 首先需要澄清的是經過Android123發現設置模擬器的分辨率到普通WVGA這樣的解析度時平板的特性自動消失和Android 2.3沒有什麼太大區別,按照這樣來看未來Android 3.0除了兼容平板外還繼續可以被手機所支持,據稱3.0的代碼針對A9雙核CPU進行了進一步的改進。
- Fragments 碎片容器
有關Android Fragments的內容,Android開發網在前幾天已經用幾篇文章詳細講解了下,大家可以從Fragment對比Activity - Android碎片介紹 一文開始瞭解。 - Action Bar 活動欄
活動欄Action Bar可以替換傳統的標題欄在Activity窗口中,包括程序圖標和一些新接口在activity的選項菜單中,另外Action Bar允許你
- System clipboard系統剪切板
Android 3.0中的剪切板進行了增強,本次可以支持除了純文本外更多的內容,如,URL和Intent,對於剪切板類ClipboardManager仍然通過 getSystemService(CLIPBOARD_SERVICE)來實例化,新增的ClipData類用於管理具體的複製對象,可以在SDK的 android.content.ClipData.Item中找到。具體的使用Android123將在今後的文章中寫道。 - 拖拽
開始拖拽內容在你的Activity中可以使用startDrag()方法在一個View中,這裏View.DragShadowBuilder提供了拖拽時的陰影,對於拖拽的過程處理可以通過OnDragListener通過View的setOnDragListener()來設置,在拖拽的時候系統會自動調用onDrag()方法。 - 增強的appWidgets
Android 3.0的appWidget開始支持更豐富的控件,比如GridView, ListView, StackView, ViewFlipper和AdapterViewFlipper.而以前必須通過RemoteView顯示一個文本或圖片,本次全新的 RemoteViewsService增強了桌面小插件的功能。 - 增強的狀態提示欄
新增的Notification API可以豐富你的狀態欄,新的Notification.Builder類可以幫助你輕鬆實現,支持大圖標提示信息通過setLargeIcon方法,通常顯示一些社交類的軟件,比如聯繫人照片,或相冊縮略圖,設置自定義狀態欄,可以使用setTicker()方法。 - 內容加載器
新框架API提供了一個異步加載內容的淚,合併和UI組件和fragment來動態加載數據從工作者現成,使用CursorLoader子類來獲取ContentResolver中的數據. - A2DP藍牙和耳機控制API
Android honeycomb中沒有忘記再次增強藍牙,你可以通過初始化BluetoothProfile通過調用getProfileProxy()在處理 A2DP或耳機HEADSET設置,BluetoothProfile.ServiceListener可以獲取客戶端連接或斷開的回調。 - 動畫框架
3.0中Android再次增強動畫播放類,ObjectAnimator和LayoutTransition需要大家瞭解一些。 - 擴展UI框架
新增以下UI控件
- AdapterViewAnimator
- AdapterViewFlipper
- CalendarView
- ListPopupWindow
- NumberPicker
- PopupMenu
- SearchView
- StackView
- 圖形相關
- 2D圖形硬件加速Hardware accelerated 2D graphics
在androidmanifest.xml的元素中添加android:hardwareAccelerated=”true” 即可。他可以優化程序運行更平滑高效,在滾動和動畫方面。 - 設置渲染模式
比如 LAYER_TYPE_HARDWARE 硬件加速和 LAYER_TYPE_SOFTWARE 使用 setLayerType() 方法. - 渲染腳本對於3D圖形方面大家可以看看Renderscript類
- 2D圖形硬件加速Hardware accelerated 2D graphics
Android3.0變更概要:
主要增加全息主題
- Fragments:
較activity粒度小的擁有獨自生命週期的模塊。可作爲acitivity的一部分,activity通過FragmentManager管理獨自的fragments back stack。 - Action Bar:
activity頂部標題欄的替代品,通常含logo,點擊出現原menu菜單項–稱作action item。可與tab、Fragments back stack合用。 - 粘貼版:
系統範圍的複製、粘貼。通過系統服務CLIPBOARD_SERVICE。 - Drag and drop:
在view中監聽drag、drop動作,通過ClipData(與系統粘貼版無關)傳遞數據。 - App widgets:
支持GridView、ListView、StackView及ViewFlipper。 - Content loader:
Loader類簡化異步數據加載;CursorLoader簡化ContentProvider的數據加載。 - 動畫支持擴展:
全新動畫框架,更靈活。 - 硬件繪製加速:
android:hardwareAccelerated=”true” 啓用OpenGl硬件繪製加速。支持renderscript腳本語言。
Android3.1變更概要:
- USB API:
簡化Android設備USB支持。 - 相機等PTP API:
增加多媒體MTP/PTP協議API。 - 增加輸入設備及事件:
ACTION_HOVER_MOVE事件,非觸控的SCROLL事件等。 - 新增RTP API:
增加實時傳輸協議棧中API。 - App widget可改變大小:
android:resizeMode=”horizontal|vertical”
Android3.2變更概要:
- 主要是屏幕大小適配支持。
Android4.0變更概要:
將3.x的全息主題帶到小屏幕,合併2.x與3.x
- Contacts Provider中的社交API:用戶個人資料、大photo、使用情況反饋。
- Calendar Provider:提供獲取、增加、修改、刪除Calendar的API。
- Voicemail及更好的多媒體效果。
- 相機的增強人臉識別功能。
- 通過NDEF(NFC數據交換格式)進行4cm左右的近距離數據交換。
- 支持帶Wi-Fi Direct設備的P2P連接,傳輸距離較 Bluetooth遠。
- 支持Bluetooth的健康設備可與Android通信;app可實現拼寫檢查服務;Text-to-speech新API;sdk>=14時默認啓用硬件加速
- 支持溫度、溼度傳感器。
- 硬件不再必須有Menu鍵。
Android 4.1變更概要:
提高性能、增強用戶體驗
- 隔離的服務:android:isolatedProcess=“true”可設置服務運行在隔離的usrID的進程中。
- 內存警告:更多內存使用狀態常量。
- 增加調用Content provider的健壯性的容錯。
- 則合成棧,通過onPrepareNavigateUpTaskStack()改變parentActivity中的內容。
- 多媒體:開放底層編解碼接口、音頻效果增強、相機自動對焦事件等。
- 網絡連接:支持大數據量bluetooth傳輸、多播設備發現、Wi-Fi Direct服務發現。
- 網絡連接是否收費:isActiveNetworkMetered(),判斷當前使用的網絡是否計量網絡。
- Activity啓動動畫:通過ActivityOptions設置動畫轉化爲Bundle,作爲Intent屬性啓動activity。由一個activity的啓動、另一個activity的停止兩組動畫組成。
- 通知欄支持3種新風格:大圖片、大字體、列表信息顯示;支持通知底部兩個action button;可設定通知優先級。
- 增加Roboto(4.0版本字體基礎)字體變種。
- 增加外部存儲讀權限、電視設備屬性
Android5.0API變更概要
RecyclerView
- RecyclerView.Adapter:託管數據集合,爲每個Item創建視圖;
- RecyclerView.ViewHolder:承載Item視圖的子視圖;
- RecyclerView.LayoutManager:負責Item視圖的佈局;
- RecyclerView.ItemDecoration:爲每個Item視圖添加子視圖,在Demo中被用來繪製Divider;
- RecyclerView.ItemAnimator:負責添加、刪除數據時的動畫效果;
Material Design
- Material,支持各種新動畫效果,具有內置的實時UI陰影,以及可在不同屏幕之間切換的hero元素。
- Project Volta
Android Runtime(ART)
ART(Android Runtime)是一種開發更快執行效率更高且更省電的運行時,它是安卓系統賴以生存的底層運行環境。 過去安卓的底層代碼由Dalvik Java虛擬機運行,這一機制效率不高,被稱作是安卓運行效率低下的“毒瘤”,不過也正是因爲有它,才讓應用程序能在不同硬件和架構上運行。 ART處理應用程序執行的方式完全不同於Dalvik,運行起來更有效率、耗電更少、佔的內存也更低。
- Android Work
- 64-bit support