谢谢翻译者:

http://www.eoeandroid.com/thread-52780-1-1.html

SDK 2.3變化概要
API等級:9
對於開發者來說,Android 2.3 平臺是一個可下載的SDK組件。這個下載平臺包括一個Android庫和系統鏡像。也可以設置模擬器的皮膚等。
爲了嘗試Android 2.3,請使用Android SDKManager 來下載這個平臺到你的SDK里。更多的信息可以關注Adding SDK Components。如果你是第一次使用Android,download the SDK Starter Package先。
關於更高級別的關於Android 2.3的介紹請參考Platform Highlights.

新增包
android.media.audiofx    混响音效(android.media.audiofx)
android.net.sip     VOIP支持 (android.net.sip)
android.nfc      NFC支付支持 (android.nfc)
android.os.storage  存储管理类  (android.os.storage)

移除類
VMDebug   
VMRuntime   
VMStack   
Zygote

更多改進
SIP-based VoIp 
這個平臺現在包含了一個SIP協議棧以及framework API使得開發者可以建立網絡電話申請。
SIP的API在android.net.sip包里可以看到,其中關鍵類是SipManager,這個類用來建立和管理SIP的概況,然後初始化音頻呼叫和接受音頻呼叫。一旦一個音頻呼叫被建立,應用程序可以靜默這個呼叫并打開Speaker模式,發送DTMF以及其他。應用程序可以同時使用SipManager來建立一個SIP連接。
要使用SIP API,應用程序必須在相應的manifest做如下申明以獲得許可
<uses-permission android:name="android.permission.INTERNET"> and <uses-permission android:name="android.permission.USE_SIP">

Sample :  SIP Demo.

Near Field Communications (NFC)
Android 2.3包含了一個NFC(短距離通訊)協議棧和framework API。
平臺提供了基本的NFC服務,包括:
1.        適用硬件發現標籤進入某一固定距離
2.        在發現標籤后,平臺提醒應用廣播一個intent,并添加這個標籤的NDEF信息給這個Intent用作擴展,保存它們。
3.        之後進行數據處理。
(我感覺這個有點像RFID,比如手機上的射頻卡之類的應用)
NFC API存在於android.nfc這個包中。其關鍵類是:
        NfcAdapter 表示設備上的NFC硬件
        NdefMessage 表示一個NDEF數據消息。應用程序可以通過ACTION_TAG_DISCOVERED這個Intent來接收這個消息。
        NdefRecord 交付一個NdefRecord。其描述了數據類型,這個類型用於共享和搬運數據本身。
NFC通訊依賴于設備硬件的無線技術,以支持平臺的NFC特徵在特殊的設備上。爲了支持NFC支持在相關的設備,應用程序可以調用isEnabled()去查詢NfcAdapter。
爲了使用NFC API,應用程序必須申請許可通過在manifest申明<uses-permission android:name="android.permission.NFC">。
To look at a sample application that uses the NFC API, see  NFCDemo
Gyroscope and other sensors
Android 2.3添加了平臺和API來支持一些新的傳感器:螺旋儀,旋轉矢量傳感器,加速度傳感器,重力傳感器和氣壓傳感器。
如果要使用這些傳感器,需要在manifest中添加<uses-feature android:name="android.hardware.sensor.gyroscope" android:required="true">
詳細說明可以參考Sensor。
Multiple cameras support(多路照相機)
應用程序現在可以支持任意多的Camera,只要他們存在與設備之上,他們既可以拍照也可以攝像。類Camera允許應用程序查詢存在的Camera的數量以及各自的特點。
        新的Camera.CameraInfo類存儲了一個camera的位置特點(前置或者後置以及方向)
        新的getNumberOfCameras(), getCameraInfo(), and getNumberOfCameras() 方法在類Camera中允許應用程序查詢存在的Camera并打開他們需要的Camera。
        新的get()方法允許應用程序恢復一個CamcorderProfile給特定的Camera
        新的getJpegEncodingQualityParameter() 允許應用程序獲得一個靜止的圖像質量等級給指定的Camera。
To look at sample code for accessing a front-facing camera, see CameraPreview.java in the ApiDemos sample application.
The Camera API also adds:
        新的Camera參數,包括對焦距離,對焦模式和預覽最大/最小幀數。新的getFocusDistances(), getPreviewFpsRange(), and getSupportedPreviewFpsRange()用來獲取Camera的參數,同樣用setPreviewFpsRange()設置預覽幀率。

Mixable audio effects(混合音效)
平坦的多媒體framework添加了對每首曲目或者全體音效的支持。包括強低音、耳機虛擬化,均衡和混響。
        新的android.media.audiofx包提供了API來存取音效。
        新的AudioEffect是控制音效的基礎類由audio framwork支持。
        新的音頻session ID允許應用程序聯合AudioTrack or MediaPlayer實例來發起對音效的設置。
        新的AudioTrack類構造器使我們可以創建一個AudioTrack給制定的session ID。新的attachAuxEffect(), getAudioSessionId(), and setAuxEffectSendLevel()方法
        新的attachAuxEffect(), getAudioSessionId(), setAudioSessionId(int), and setAuxEffectSendLevel()方法和支持的類型
To look at sample code for audio effects, see AudioFxDemo.java in the ApiDemos sample application。
        新支持EXIF中的元數據altitude tag給JPEG字段。新的getAltitude()方法可以獲取EXIF altitude tag的值。
        新的setOrientationHint()方法允許應用程序通過video capture顯示目標的MediaRecorder。

Download manager
平臺包含一個新的DownloadManager系統服務用來處理long-running HTTP downloads。應用程序可以請求一個URI用於下載一個指定的目標文件。DownloadManager將下載放入後臺運行,用於照顧HTTP交互和失敗后重新嘗試。
        應用程序可以獲得一個實例DownloadManager通過調用getSystemService(String)並且通過DOWNLOAD_SERVICE。請求下載的應用程序通過這個API可以登記一個光被接聽器給ACTION_NOTIFICATION_CLICKED。
        DownloadManager.Request類允許一個應用程序提供所有必要信息去請求一個新的下載,例如請求URI和下載目標。而請求URI使唯一要求的參數。setDestinationUri(Uri)
        DownloadManager.Query類提供方法讓應用程序查詢一個下載。
StrictMode
爲了幫助開發者監聽和改善他們的應用程序,平臺提供了一個新的系統設備叫StrictMode。當執行一個應用程序,StrictMode捕獲并通知開發者額外的磁盤或者網絡activity會降低應用程序的執行。

UI Framework
        支持滾動
1.        在Views 和 Widgets中新增支持了滾動。在Views中,應用程序可以使能/禁止滾動對於給定的view來說,設置滾動模式,控制滾動距離并處理滾動的結果。
2.        在Widgets中,應用程序可以控制滾動特徵。SEEandroid.view.View and android.widget.OverScroller
3.        ViewConfiguration提供方法getScaledOverflingDistance() and getScaledOverscrollDistance().
4.        新的overScrollMode, overScrollFooter, and overScrollHeader參數給< ListView >元素,用以控制滾動行為
        支持 touch filtering
See View class documentation.
Sample SecureView.java
        改善了時間管理
1.        新的基本類給輸入時間,InputEvent。這個類提供了方法讓應用程序決定時間的意義,例如從事件組中查詢輸入設備。KeyEvent and MotionEvent是InputEvent子集。
2.        新的基礎類給輸入設備,InputDevice。
        改善的手勢事件MotionEvent
        文本選擇控制
1.        新的setComposingRegion方法讓一個應用程序標示一個文本區域用作撰寫文字。getSelectedText方法返回一個選擇文本給應用程序該方法存在於BaseInputConnection, InputConnection, and InputConnectionWrapper當中。
2.        新的textSelectHandle, textSelectHandleLeft, textSelectHandleRight, and textSelectHandleWindowStyle參數給<TextView>。
        Activity 控制
1.        ActivityInfo添加了新的constants:
    SCREEN_ORIENTATION_FULL_SENSOR, SCREEN_ORIENTATION_REVERSE_LANDSCAPE, SCREEN_ORIENTATION_REVERSE_PORTRAIT, SCREEN_ORIENTATION_SENSOR_LANDSCAPE, and SCREEN_ORIENTATION_SENSOR_PORTRAIT
2.        new constantIMPORTANCE_PERCEPTIBLE for the importance字段在ActivityManager.RunningAppProcessInfo中。
3.        setPersistent(boolean)方法標示一個Acticity。
        通知文檔和圖形系統
1.        TextAppearance.StatusBar.EventContent, TextAppearance.StatusBar.EventContent.Title, TextAppearance.StatusBar.Icon, and TextAppearance.StatusBar.Title給管理通知系統。
        WebView
1. 新的setUseWebViewBackgroundForOverscrollBackground()方法讓一個WebView制定是否使用後臺。
Extra Large Screens
平臺支持額外的大屏幕尺寸,開發者可以讓應用程序被設計成支持額外大屏幕尺寸通過添加<supports screens ... android:xlargeScreens="true">在manifest files。
應用程序可以使用一個新的large screens,xlarge來標示資源。詳細資料見Supporting Multiple Screens.


Graphics
添加了OpenGL ES 2.0方法 glDrawElements() and glVertexAttribPointer()在android.opengl.GLES20類中。
添加了YV12格式,一個平面的4:2:0 YCrCb format。

Content Providers
新的AlarmClock provider類用於設置提醒或處理一個提醒。這個provider包含一個ACTION_SET_ALARM Intent action。應用程序要接收SET_ALARM Intent 需要創建一個activity,這個activity要求這個SET_ALARM允許。應用程序要創建一個新的alarm需要使用Context.startActivity(),所以由選擇那個alarm clock應用程被使用。
MediaStore同樣增加了MEDIA_IGNORE_FILENAME flag ,這個flag告訴多媒體掃描去忽略這個目錄以及其子目錄包含的媒體。
Settings Provider 添加了一個新的Activity行為APPLICATION_DETAILS_SETTINGS和MANAGE_ALL_APPLICATIONS_SETTINGS。他們讓一個應用程序顯示屏幕的細節給一個指定的AP。
ContactsContract provider添加ContactsContract.CommonDataKinds.SipAddress數據類型,爲了存儲聯系人的SIP地址。

Location
LocationManager可以跟踪程序请求wake locks 或 wifi locks 的结果通过 WorkSource类,让系统管理指定的程序。
Storage
*  Android 2.3 新增StorageManager 类支持 OBB (Opaque Binary Blob) 文件在 Android 2.3上开发恐惧创建和管理OBB文件将在2011年早期无法使用。
     * 加入一些判断虚拟SD分区,Android123提示大家,类似三星i9000可能存在虚拟的SD路径,所以isExternalStorageRemovable()可以知道是否是一个物理的SD卡.
Package Manager
    * New constants for declaring hardware and software features. See the list in the New Feature Constants section, below
* PackageInfo 新增firstInstallTime and lastUpdateTime 可以查看一个软件的安装和上次更新时间,这比直接获取APK路径查看文件时间更可靠,对于付费的私有路径未root的机型无权限获取的。
     * 新增getProviderInfo()方法获取content provider类相关信息.
Telephony
* TelephonyManager 增加了对NETWORK_TYPE_EVDO_B网络类型的定义NETWORK_TYPE_EVDO_B.
        * 新的getPsc()返回私有混合码从UMTS网络.
Native access to Activity lifecycle, windows
Android 2.3 可以让AP本地访问声明周期和窗口

     NativeActivity 是一个新的Activity类整个声明周期的方法可以通过本地C/C++代码直接访问,使用Android NDK r5或更高版本即可支持。
* 新增InputQueue类提供本地管理事件队列的回调接口
* 新增SurfaceHolder.Callback2 接口可以让C/C++代码管理SurfaceHolder .
* 新增takeInputQueue 和takeSurface() 方法在Window 让本地代码管理一个窗口事件.
Dalvik Runtime
3.1        * dalvik.system  移除了很多类,在上一版本这些类已经标记为将放弃使用包含以下
* Dalvik 核心库:
          o 新增 collections: ArrayDeque, NavigableMap, ConcurrentSkipListMap, LinkedBlockingDeque 数据类型
          o 新增Arrays 辅助方法: binarySearch(), copyOf(), copyOfRange(), and others.
          o 新增CookieManager 针对HttpURLConnection .
          o 更完整的网络API支持比如InterfaceAddress NetworkInterface  和IDN 
          o File 读写控制
          o String.isEmpty() 
          o Normalizer and Normalizer.Form
          o 改进了javax.net.ssl server sockets.
New manifest elements and attributes
* 新增 xlargeScreens 属性针对<supports-screens> 元素,可以支持更大设备比如说Android平板的定义。看Supporting Multiple Screens. 
* 新的屏幕方向属性 android:screenOrientation 在<activity> 中
New Permissions
* com.android.permission.SET_ALARM —设置一个提醒权限. SET_ALARM 
* android.permission.USE_SIP — 使用SIP接收一个VOIP. SIP API 
* android.permission.NFC — 允许程序使用NFC支持NFC API 
New Feature Constants(新硬件特徵)
這個平臺增加了一些新的硬件特徵。
3.1.1        android.hardware.audio.low_latency
——允许使用 low-latency 音频管道在设备和可以提供敏感的延迟在声音输出输出上。(android.hardware.audio.low_latency)
3.20.2  android.hardware.camera.front
——前置摄像头控制类.(android.hardware.camera.front)

3.20.3          android.hardware.nfc
——NFC近距无线设备管理。(android.hardware.nfc)

3.20.4  android.hardware.sensor.barometer 
——气压计感应器支持类The application uses the device's barometer
(android.hardware.sensor.barometer)

android.hardware.sensor.gyroscope 
——陀螺仪感应器支持类 The application uses the device's gyroscope sensor.
(android.hardware.sensor.gyroscope)
android.software.sip 
——SIP VoIP类.(android.software.sip)

3.20.7  android.software.sip.voip 
——使用基于 SIP的 VoIP 服务.(android.software.sip.voip)


3.20.8  android.hardware.touchscreen.multitouch.jazzh
and 
——增强的多点触控类,可以实现跟踪5个或更多的点.
(android.hardware.touchscreen.multitouch.jazzhand)

New Feature Constants

posted on 2010-12-25 12:16  dartagnan  阅读(1148)  评论(0编辑  收藏  举报