Android各個版本API的區別

來源:互聯網
上載者:User
Android各個版本API的區別   Android 1.5 API變更概要: 
 1、UI framework
  · Framework for easier background/UI thread interaction
  · 新SlidingDrawer 組件
  · 新HorizontalScrollview 組件
 2、AppWidget framework
  · 一些關於建立案頭AppWidget 的API.
  · 提供根據自訂的內容建立LiveFolders的API
 3、Media framework
  · 原聲錄音和回放 APIs
  · 互動MIDI 回放引擎
  · 開發人員使用的視頻錄影API (3GP format).
  · 視頻相片分享 Intents
  · 媒體搜尋Intent
 4、Input Method framework
  · IME服務framework
  · 文字預測引擎
  · 提供具有下載能力的IME給使用者
 5、Application-defined hardware requirements
  應用可定義硬體需求,應用程式可以定義說明此程式需要什麼硬體需求.比如是否需要物理鍵盤或者軌跡球.
 6、Speech recognition framework
  · 支援語音辨識庫.
 7、Miscellaneous API additions
  · LocationManager -應用可以接收到位置改變的資訊.
  · WebView - 觸摸start/end/move/cancel DOM 事件的支援
  · 重建Sensor Manager APIs
  · GLSurfaceView - 建立OpenGL 應用更加方便的framework .
  · 軟體升級安裝成功的Broadcast Intent - 更加平和優秀的軟體升級體驗

Android 1.6 API變更概要:
 1、UI framework
  · 新的類 android.view.animation 控制動畫行為:
  o AnticipateInterpolator
  o AnticipateOvershootInterpolator
  o BounceInterpolator
  o OvershootInterpolator
 2、· 新的XML 屬性android:onClick ,從一個layout檔案描述一個view的 View.OnClickListener.
  · 對不同解析度的螢幕的新的支援. 對於Bitmap和Canvas會執行有針對性的縮允許存取為.該架構會根據螢幕解析度和其他內容自動縮放bitmap等.
  要在你的應用中使用Android 1.6包含的API的話你必須要設定 "4"屬性在manifest的 元素中
 3、Search framework
  · 應用程式現在可以公開的有關內容,作為建議放入快速搜尋框,新的裝置範圍內的搜尋功能,是可從主畫面搜尋。為了支援這一點,搜尋方塊架增加了新的屬性,可搜尋的中繼資料檔案。有關完整的資訊,請參閱SearchManager文檔。
 4、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.
 5、Gesture Input
  · 新的gesture API :建立,識別,讀取,儲存手勢.
 6、Text-to-speech
  · 新的android.speech.tts 包提供了TTS文本朗讀功能,從一個文本產生一個音效檔的回放.
 7、Graphics
  ·android.graphics 中的類,現在支援為不同的螢幕尺寸進行縮放.
 8、Telephony
  · 新的SmsManager 發送和接受簡訊.
 9、Utilities
  · 新的DisplayMetrics 欄位決定當前裝置螢幕的密度.
 10、Android Manifest elements
  o 新的 元素
  o 新的 標籤
  o glEsVersion: 指定最小openGL ES的版本
  ·
  11、元素的新的屬性:
  o 目標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.
  o maxSdkVersion: 指定設計這個程式啟動並執行最高版本 重要: 當使用 這些屬性前請認真閱讀文檔.
 12、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變更概要:
 1、Bluetooth
  · 開啟關閉藍芽
  · 裝置和服務發現
  · 使用 RFCOMM串連一個可插拔的裝置收發資料
  · 公布RFCOMM 服務和監聽接收 RFCOMM 串連
 2、Sync adapters
  · 新的APIs, 同步橋接器串連任何backend
 3、Account Manager
  · 集中的帳戶管理器 API ,安全的儲存和使用可信的tokens/passwords
 4、Contacts
  · 新的通訊APIs 允許擷取多個賬戶的資料.
  · 新的快速通訊framework APIs 允許開發人員在他們的應用中建立通訊標記, 一鍵點擊標記開啟一個新的視窗展示一個如何聯絡當前人的列表.
 5、WebView
  · 不贊成使用的類: UrlInterceptHandler, Plugin, PluginData, PluginList, UrlInterceptRegistry.
 6、Camera
  · 顏色模式, 情境模式 閃光模式, 焦點模式, 白平衡 旋轉和其他設定的新的特徵.
  · 當縮放層級改變的時候,會回調新的縮放回調介面.
 7、Media
  · MediaScanner現在為所有圖片產生縮微圖when they are inserted into MediaStore.
  · 新的縮微圖 API : 檢索需要的圖片和視頻的縮微圖.
 8、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.
 9、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).
  效能上的改變:
    1、Bluetooth
  改變了 ACTION_REQUEST_ENABLE 和ACTION_REQUEST_DISCOVERABLE的傳回值
  · ACTION_REQUEST_ENABLE 如果藍芽是成功開啟的,現在返回RESULT_OK .如果使用者拒絕開啟藍芽的請求,則會返回RESULT_CANCELED .
  · ACTION_REQUEST_DISCOVERABLE 如果使用者拒絕啟動藍芽或者藍芽的可發現功能,則返回 RESULT_CANCELED .
  2、通訊
  The ACTION_INSERT Intent returns RESULT_CANCELED in cases where the contact was not persisted (例如剪下儲存到一個空的操作裡面).
  修複錯誤:
  3、資源
  現在framework可以正選擇應用資源的根據API等級劃分的檔案夾(drawable-v4是API level4版本用的資源).現在的版本這個功能不能正常工作的問題已經修複.
  4、Contacts
  The ACTION_INSERT Intent now returns the appropriate kind of URI when the request is made using the (now deprecated) Contacts APIs.
  5、Other Framework fixes
  · getCallingPackage() 現在正確的報告包名, 而不是進程名.

Android 2.1 API變更概要:
 1、?Live Wallpapers 動態案頭
?   以下增加的API可以提供你開發動態案頭:
  · 新android.service.wallpaper 包.
  · 新WallpaperInfo 類.
  · 升級的WallpaperManager.
  附加說明, 如果你的應用相提供Live Wallpapers的功能, 你必須記得增加一個 元素到你的應用manifest裡面. 宣布這個屬性android:name="android.software.live_wallpaper". 舉例:
 2、電話
  · 新的SignalStrength 類提供當前網路訊號的一些資訊這些資訊可以從onSignalStrengthsChanged(SignalStrength) 回調.
  · 新的onDataConnectionStateChanged(int, int) 回調.
 3、Views
  · 新的View 方法isOpaque() 和onDrawScrollBars(Canvas).
  · 新的RemoteViews 方法addView(int, RemoteViews) 和removeAllViews(int).
  · 新的ViewGroup 方法isChildrenDrawingOrderEnabled() 和setChildrenDrawingOrderEnabled(boolean).
 4、WebKit
  · 新的WebStorage 方法操作網頁資料緩衝.
  · 新的GeolocationPermissions 方法擷取 Geolocation permissions 的出處, 把他們設定到 WebView上.
  · 新的WebSettings 方法管理軟體緩衝, 網頁緩衝 和螢幕的縮放.
  · 新的WebChromeClient 方法處理視頻, 記錄, 自訂view, 軟體緩衝限制還有其他??

Android 2.2 API變更概要:
 1、對Microsoft Exchange更好的支援。
    Android的幾個新特性使之更適於Exchange企業環境。其中一些新特性列舉如下:基於使用者名稱/密碼的         Exchange帳號自動檢測支援Exchange日曆的同步
  改進的安全性,管理員可以跨越裝置強制應用安全性原則
  恢複出場設定——管理員可以將裝置重設為出場設定,這樣就能在裝置被偷或丟失後擦除上面的敏感性資料了
  全域的地址清單尋找——可以根據伺服器端返回的列表協助使用者自動填滿收件者的郵件地址
  裝置管理API。Android 2.2改進並新增了大量的裝置管理API,開發人員可以將其用在應用當中:
  應用資料備份API——可以將應用資料備份到雲中。如果使用者切換到另一個Android裝置,他就可以從之前的裝置中恢複資料。
 2、Cloud-to-Device訊息API。雲中的使用者/系統可以憑藉這種增強在裝置上觸發動作。該特性可以將移動警告發給手機並且支援雙向的推同步服務。
    可以直接在外部的記憶體裝置(SD卡)上安裝應用,還可以將應用從內部遷移到SD卡上,反之亦然。
 3、網際網路共用。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應用就能以前所未有的方式與裝置互動了。比如說,使用者可以在拍完照後將其上傳到網上,而這一切都是在瀏覽器內完成的。
 4、支援Flash 10.1。Froyo支援最新的Flash 10.1
  Beta版。最近,JIT編譯器的引入極大地改進了效能,這對Flash應用的運行起到了巨大的協助作用,因為大家都知道,Flash應用是一種CPU密集型應用。
  Android商店。Android 2.2開發人員和商店使用者會從如下新特性中受益無窮:
  可以在Android商店搜尋應用,包括應用資料
  更新——點擊一次按鈕後會自動更新所有應用
 5、崩潰與凍結報告。Android2.2整合了崩潰/凍結報告特性,這樣在崩潰時使用者就可以將完整的細節資訊報告給應用發行者了
  從PC上瀏覽商店並將應用直接下載到裝置上。使用者可以通過PC選擇商店的應用,之後應用就可以發到到載入的裝置上。要想使用這個特性,使用者需要登入並且裝置需要在Android商店註冊-
 6、音樂管理。使用者可以將Windows Media或Mac iTunes上的所有非DRM音樂轉換到Android裝置上播放。

Android 2.3 API變更概要: 
Android 2.3薑餅發布,代號Gingerbread,包含哪些新特性和改進呢? 
   1. 新增android.net.sip包,名為SipManager類,可以輕鬆開發基於Sip的Voip應用。同時使用時必須至少包含這兩個許可權 <uses-permission android:name="android.permission.INTERNET"> and <uses-permission android:name="android.permission.USE_SIP">,如果需要在Market上過濾僅顯示支援VoIP API的機型,可以在發布時androidmanifest.xml中加入
<uses-feature android:name="android.software.sip" android:required="true"> 和 <uses-feature android:name="android.software.sip.voip"> 這兩個標誌。 
  2. Near Field Communications (NFC) 近距離通訊的支援,NFC可以在不接觸的情況下實現資料交換通訊,可以很好的代替RFID SIM卡實現手機支付等擴充功能,當然Android123提示這需要硬體的支援 
,新增包在 android.nfc包含NfcAdapter,NdefMessage,NdefRecord等類,類似藍芽的處理方式,使用該API需要聲明許可權<uses-permission android:name="android.permission.NFC"> ,同時在Market上過濾支援NFC的裝置需要加入<uses-feature android:name="android.hardware.nfc" android:required="true">這句。 
  3. 新增陀螺儀和其他的感應器支援 
  Android 2.3加入了一些新的感應器,比如gyroscope陀螺儀, rotation vector旋轉向量, linear acceleration線性加速器 gravity和barometer氣壓計的支援。如果過濾這些功能,發布時加入類似<uses-feature android:name="android.hardware.sensor.gyroscope" android:required="true">到androidmanifest.xml中。 
  4. 多網路攝影機支援 
新增 Camera.CameraInfo 可以管理網路攝影機前置或後置 
新增 getNumberOfCameras(), getCameraInfo() 和 getNumberOfCameras() 擷取網路攝影機數量。   
新增 get() 方法,可以擷取網路攝影機配置資訊 CamcorderProfile 
新增 getJpegEncodingQualityParameter() 擷取jpeg編碼品質參數可以在 CameraPreview.java 檔案從ApiDemos樣本程式中查看。 
5. 新增拍照API 
  比如擷取焦距getFocusDistances()擷取預覽FPS getPreviewFpsRange(), 擷取焦距範圍 getSupportedPreviewFpsRange() 和設定教育 setPreviewFpsRange() 
6. 混響音效 
本次Android 2.3架構中加入了對混響音效的支援,比如低音,耳機和虛擬化等效果. 
新增 android.media.audiofx 包 
新增 AudioEffect 類提供音效控制 
新增音頻會話ID,設定 AudioTrack 和 MediaPlayer. 
新 AudioTrack 新增 attachAuxEffect()、getAudioSessionId()和 setAuxEffectSendLevel()。 
新 attachAuxEffect() ,getAudioSessionId(), setAudioSessionId(int), 和 setAuxEffectSendLevel() . 
相關音效在 AudioFxDemo.java 的 ApiDemos 樣本。 
6. 照片EXIF資訊改進 
新增經緯度標籤在JPG格式的EXIF中,同時可以使用 getAltitude() 方法擷取經緯度的EXIF資訊 
新增setOrientationHint() 可以讓程式擷取視頻錄製的方向. 
7. 下載管理 
在Android 2.3中新增的下載管理支援長時間啟動並執行Http下載服務支援。可以保證在手機重啟後仍然重試下載等操作,整個過程在後台執行。 
通過 DownloadManager 類使用getSystemService(DOWNLOAD_SERVICE) 來執行個體化,通過 ACTION_NOTIFICATION_CLICKED 這個Intent來處理。 

8. 限制模式 
  可以協助開發人員監控他的應用的效能,處理線程阻塞,避免ANR的發生。 
StrictMode.ThreadPolicy 和 StrictMode.VmPolicy 擷取VM相關資訊. 
使用限制模式最佳化的Android應用程式可以查看android.os.StrictMode包的具體介紹。 

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允許你 
  Include select menu items directly in the Action Bar—as "action items"—for quick access to global user actions. 
  In your XML declaration for the menu item, include the attribute, android:showAsAction with a value of "ifRoom". When there's enough room in the Action Bar, the menu item appears directly in the bar. Otherwise, the item is placed in the overflow menu, revealed
by the icon on the right side of the Action Bar. 
  Add interactive widgets to the Action Bar—as "action views"—such as a search box. 
  In the XML for the menu item that should behave as an action view, include the android:actionViewLayout attribute with a layout resource for the action view or android:actionViewClass with the class name of the widget. Like action items, an action view appears
only when there's room for it in the Action Bar. If there's not enough room, it is placed in the overflow menu and behaves like a regular menu item (for example, an item can provide a SearchView as an action view, but when in the overflow menu, selecting the
item activates the search dialog). 
  Add an action to the application logo when tapped and replace it with a custom logo 
  The application logo is automatically assigned the android.R.id.home ID, 
which the system deliveres to your activity's onOptionsItemSelected() callback when tapped. Simply respond to this ID in your callback method to perform an action such as go to your application's "home" activity. 
  To replace the icon with a logo, 
  Add breadcrumbs for navigating backward through fragments 
  Add built in tabs and a drop-down list for navigation 
  Customize the Action Bar themes and custom backgrounds 
  有關ActionBar的文章,可以參考 Action Bar使用方法 - Android活動欄 系列文章 
  三、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 
  十一、圖形相關 
  1. 2D圖形硬體加速Hardware accelerated 2D graphics , 在androidmanifest.xml的元素中添加android:hardwareAccelerated="true" 即可。他可以最佳化程式運行更平滑高效,在滾動和動畫方面。 
  2.設定渲染模式,比如 LAYER_TYPE_HARDWARE 硬體加速和 LAYER_TYPE_SOFTWARE 使用 setLayerType() 方法. 
  3.渲染指令碼對於3D圖形方面大家可以看看Renderscript類。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.