Android各版本API變更概要

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 .
  • 通訊
    • 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類

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