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給使用者
Android軟鍵盤的隱藏顯示研究:
http://winuxxan.blog.51cto.com/2779763/522810 android軟鍵盤出來的時候覆蓋底部的tab導航:
http://www.eoeandroid.com/thread-67098-1-1.html android 軟鍵盤Enter鍵圖標的設置:
http://archive.cnblogs.com/a/1994418/ 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 控制動畫行為:
o AnticipateInterpolator
o AnticipateOvershootInterpolator
o BounceInterpolator
o OvershootInterpolator
· 新的XML 屬性android:onClick ,從一個layout文件描述一個view的 View.OnClickListener.
· 對不同分辨率的屏幕的新的支持. 對于Bitmap和Canvas會執行有針對性的縮放行為.該框架會根據屏幕分辨率和其他內容自動縮放bitmap等.
要在你的應用中使用Android 1.6包含的API的話你必須要設置 "4"屬性在manifest的 元素中
Search framework
· 應用程序現在可以公開的有關內容,作為建議放入快速搜索框,新的設備范圍內的搜索功能,是可從主屏幕搜索。為了支持這一點,搜索框架增加了新的屬性,可搜索的元數據文件。有關完整的信息,請參閱SearchManager
文檔。
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文本朗讀功能,從一個文本生成一個聲音文件的回放.
http://blog.csdn.net/CBirdLG/archive/2010/10/10/5931728.aspx Graphics
· android.graphics 中的類,現在支持為不同的屏幕尺寸進行縮放.
Telephony
· 新的SmsManager 發送和接受短信.
Utilities
· 新的DisplayMetrics 字段決定當前設備屏幕的密度.
Android Manifest elements
o 新的 元素
o 新的 標簽
o glEsVersion: 指定最小openGL ES的版本
·
元素的新的屬性:
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: 指定設計這個程序運行的最高版本 重要: 當使用 這些屬性前請認真閱讀文檔.
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變更概要:
對Microsoft Exchange更好的支持。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應用就能以前所未有的方式與設備交互了。比如說,用戶可以在拍完照后將其上傳到網上,而這一切都是在瀏覽器內完成的。
支持Flash 10.1。Froyo支持最新的Flash 10.1
Beta版。最近,JIT編譯器的引入極大地改進了性能,這對Flash應用的運行起到了巨大的幫助作用,因為大家都知道,Flash應用是一種CPU密集型應用。
Android商店。Android 2.2開發者和商店用戶會從如下新特性中受益無窮:
可以在Android商店搜索應用,包括應用數據
更新——點擊一次按鈕后會自動更新所有應用
崩潰與凍結報告。Android
2.2集成了崩潰/凍結報告特性,這樣在崩潰時用戶就可以將完整的細節信息報告給應用發布者了
從PC上瀏覽商店并將應用直接下載到設備上。用戶可以通過PC選擇商店的應用,之后應用就可以發到到加載的設備上。要想使用這個特性,用戶需要登錄并且設備需要在Android商店注冊-
音樂管理。用戶可以將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來處理。
http://www.android123.com.cn/androidkaifa/723.html
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類。
上面是Android 3.0的主要改進,明天Android開發網將和大家一起說下強大的對于平板電腦比較重要的Action Bar活動欄。