面向開發人員的Android4.1新特色

原文地址:http://developer.android.com/about/versions/jelly-bean.htmlphp

翻譯:【eoeAndroid原創團隊】tyutNo4,Albert,fortianwei,D.winter,suchang1123html

更新:2012.06.28android

面向開發人員的Android4.1瀏覽器

jb-android-4.1.png

歡迎來到Android4.1,果凍豆!緩存

Android4.1是迄今爲止最快、最流暢的Android版本,咱們已經對整個平臺進行了改進,而且爲用戶和開發人員增長了大量的新功能。本文檔僅僅是Android4.1新功能的冰山一角。安全

詳情請參考Android4.1 APIs文檔來詳細瞭解最新的開發人員APIs。網絡

目錄

 [隱藏

更快、更流暢、更靈敏

優化的Android4.1可以提供最好的展示形式和實現最低的觸摸延遲,提供一個簡單易用、容易操做的用戶界面app

爲了確保一致的幀頻,Android擴展了垂直同步調速(vsync timing)來實現Android框架處理全部的圖片和動畫。一切都運行在步調一致、16毫秒的垂直同步心跳機上——包括程序渲染、觸摸事件、屏幕構成和顯示刷新——因此幀不會提早或者延後。框架

同時爲了得到更加一致的渲染,Android4.1在圖形管道上添加了三重緩衝(triple buffering)技術,可以使一切感受更順暢,好比從滾動到分頁和動畫。ide

加強的輔助功能-Enhanced Accessibility

jb-accessibility-focus-250.png

Android4.1既經過同步觸摸vsync timing來減小觸摸延遲,又經過預測你的手指將在那裏來刷新屏幕來減小觸摸延遲。這樣就能夠獲得更容易和更均勻的觸摸響應。。此外,在activity不活動以後,Android會申請一個CPU input boost 來確保在下次觸摸事件時沒有延遲。


Tooling能夠幫助你獲得應用程序的徹底的最佳性能,如今Android4.1的設計中,支持工做的一個新工具是systrace,它可以直接從Linux內核採集數據來生成一個系統全部活動的總體的圖。採集來的數據被表示爲一組垂直堆疊起來的時間序列圖表,用來幫助隔離渲染中斷和其餘問題,如今這個工具在Android SDK中已經可用了(Tools R20 或者更高)。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

支持國際用戶

jb-r2l.png

雙向文本和其餘語言支持

Android4.1經過在TextView and EditText 元素中支持雙向文本能夠幫助你贏得更多的用戶。應用程序能夠按照從左到右或從右到左的腳本顯示文本或者處理文本編輯。應用程序可使用新的阿拉伯語、希伯來語地區及相關字體。

其餘類型新語言的支持包括:

  • 追加的印度語言:埃納德語,泰盧固語,馬拉雅拉姆
  • 新繪文字字符的Unicode 6.0版
  • 對日本用戶來講更好的字形支持(好比當系統語言設置爲日語時對日本特有版本的字形的渲染)
  • 阿拉伯語字形在WebViews上進行了優化,除了TextViews。
  • 在WebViews中支持垂直文本,包括Ruby文本和其餘垂直文本字形
  • 合成粗體如今能夠用於全部沒有專門粗體字形的字體

用戶可安裝的鍵盤映射

該平臺如今支持用戶安裝鍵的盤映射。好比支持其餘的國際鍵盤和特殊佈局類型的鍵盤。在默認狀況下,Android4.1包含27種國際鍵盤,包括Dvorak。當用戶鏈接一個鍵盤的時候,他們能夠設置程序選擇一個或多個他們想用的鍵盤。當打字的時候,用戶可使用快捷鍵(好比Ctrl-Space)在鍵盤佈局之間進行切換。 你能夠建立一個鍵盤映射發佈到系統中。這個APK應該包括鍵盤佈局資源文件,基於標準的Android鍵盤映射格式。這個應用程序要想給用戶提供自定義的鍵盤佈局須要在應用程序的manifest文件中聲明一個合適的廣播接收器(ACTION_QUERY_KEYBOARD_LAYOUTS )。

構造更美的UI

jb-notif-ex.png


擴展的通知,讓你在顯示更多類型的通知內容。

用戶能夠用一個簡單的手勢展開他們。

擴展的通知功能

擴展的通知,讓你在顯示更多類型的通知內容。用戶能夠用一個簡單的手勢展開他們。通知功能早已經是Android上獨特並受歡迎的功能。在不影響應用程序的UI的狀況下,開發人員能夠在通知欄把重要的或基於時間的信息,顯示給用戶。

Android 4.1對Android通知框架進行了重大的更新。應用程序如今能夠經過點選展開或者摺疊來顯示更大,更豐富的通知。通知支持新的內容類型,包括照片,優先級的配置,甚至能夠包括多個動做。

經過改進通知的使用,應用程序能夠建立的使用面積較大,高達256 DP的高度的通知信息。三個模板的通知樣式可供選擇:

  • BigTextStyle - 通知,其中包括一個多TextView的對象。
  • BigInboxStyle - 通知顯示任何類型的消息,標題等,如清單。
  • BigPictureStyle - 如位圖,展現視覺內容的通知。

除了​​模板的樣式,你可使用任何遠程視圖建立你本身的通知顯示方式,。

應用程序在通知內容下,能夠添加三個動做。讓用戶以替×××法直接回應通知信息。如不經過應用程序訪問電子郵件或電話。

使用可擴展的通知,應用程序能夠輕鬆地提供更多的信息給用戶。用戶還能夠長按任何通知,以獲取有關通知發送者的信息,並選擇禁用應用程序的進一步通知。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

大小可調整的應用程序小部件

jb-appwidgets.png


應用小工具,能夠自動調整

以適應主屏幕其大小變化時加載不一樣的內容。

應用小工具,能夠自動調整,以適應主屏幕,其大小變化時加載不一樣的內容。 Android的4.1引入了改進的應用小工具,能夠按照用戶拖動到的主屏幕的位置,主屏幕上提供的總空間大小,自動調整大小。新的應用程序部件的API,讓你利用這一優點,以優化您的應用程序部件大小的變化時,Widget的大小。

當一個部件的變化大小,系統通知主機應用程序的部件供應商,能夠從新在widget的內容須要。例如,一個widget能夠顯示更大,更豐富的圖形或額外的功能或選項。開發人員仍然能夠保持最大和最小尺寸的控制,並在須要時能夠更新其餘部件選項。

你的部件,還能夠提供單獨的橫向和縱向佈局,適當的屏幕方向改變時系統膨脹。

應用部件如今能夠顯示在第三方發射器和其餘宿主應用程序經過一個新的綁定意向書(AppWidgetManager.ACTION_APPWIDGET_BIND)的。

簡化的任務導航

Andr​​oid 4.1使您更容易從您應用程序管理頂部導航欄,並有助於確保用戶一致的體驗。

在應用的manifest文件添加新的XML屬性,能夠實現頂部導航欄中定義UI中獨立的Activity組件功能。你能夠。在運行時,隨着活動的推出,該系統manifest文件中提取的最多的導航樹,並自動建立在操做欄中向上的啓示導航。開發誰申報清單導航再也不須要管理導航在運行時的回調,但它們也能夠這樣作,若是須要的話。

也能夠是一個新的TaskStackBuilder類,讓你趕忙把一種人工合成的任務堆棧當即啓動或PendingIntent啓動時使用的一個活動。建立一個合成任務堆棧是特別有用的,當用戶從偏遠的意見,如從主屏幕小部件和通知,推出的活動,由於它讓開發人員提供託管的,一致的體驗,回到導航。

 

 

 

 

 

 

 

 

 

 

Activity Lanuch 的簡易動畫

您可使用一個新的helper類,ActivityOptions,建立和控制,動畫顯示,當您啓動您的活動。經過輔助類,你能夠指定自定義動畫資源活動啓動時要使用的,或要求新的縮放動畫開始從任何你指定在屏幕上,並選擇性地包括一個縮略圖位圖的矩形。

燈輸出和全屏模式的轉換

新的系統UI視圖中的標誌,讓你乾淨的過渡,或從一個正常的應用程序界面(操做欄,導航欄,系統欄可見),「燈輸出模式」(狀態欄和操做欄隱藏和導航欄變灰) 「全屏模式」(狀態欄,行動起來吧,全部隱藏的導航欄)。

新的remoteable Views 類型

開發人員如今可使用GridLayout的ViewStub在主屏幕小部件和通知的意見。GridLayout的讓你構建遠程意見的內容和管理與較淺的UI層次結構中,兒童的意見路線。ViewStub是一種無形的,零大小的視圖,可用於懶洋洋地膨脹在運行時的佈局資源。

生活壁紙預覽

的Android 4.1使得它更容易爲用戶尋找和安裝現場壁紙,包括他們的應用程序。若是您的應用程序,包括現場壁紙,你如今能夠開始一個活動(ACTION_CHANGE_LIVE_WALLPAPER),顯示了用戶從本身的應用程序的動態壁紙預覽。從預覽,用戶能夠直接加載動態壁紙。

更高分辨率的聯繫人照片

與Android 4.1,你能夠存儲聯繫人的照片,如大型720×720,使接觸更豐富,更我的。應用程序能夠在該大小的存儲和檢索聯繫人的照片,或使用任何其餘須要的大小。在特定設備上支持最大的照片尺寸可能會有所不一樣,因此應用程序應該查詢內置的接觸供應商,在運行時得到當前設備的最大尺寸。

新的輸入類型和功能

弄清有關設備添加和刪除的狀況

當有新的設備接進來的時候,好比經過USB,藍牙,或任何其餘鏈接類型,應用程序會經過註冊的方式獲得通知,他們可使用這些信息來改變狀態或須要的功能。好比說一個遊戲應用程序可能會接收到這樣一個通知:有一個新鍵盤或者搖桿接進來了,這代表一個新成員加入了。

查詢輸入設備的功能

Android4.1包含不少輸入設備功能的APIs,這些APIs可以讓應用程序和遊戲充分利用那些接入並有效的輸入設備的功能。 應用程序能夠查詢設備管理器來枚舉當前鏈接的全部的輸入設備,並瞭解每一個的功能。

控制輸入設備上的振動器

在其餘功能中,應用程序如今可使用任何一個接入的輸入設備的相關震動服務,好比震動卡(Rumble Pak )控制器。

Animation and Graphics-動畫和圖形

應用程序中的的垂直同步(Vsync)技術

整個Android框架擴展VSYNC會產生一個更加一致的幀頻和流暢、穩定的UI。全部的app都將受益,由於Android4.1擴展的Vsync計時會影響到用戶引用程序初始化的繪圖和動畫。這能讓他們在UI線程上優化操做,並提供了一個穩定的同步基。

應用程序能夠免費利用VSYNC計時的優點,經過Android的動畫框架。動畫框架如今使用VSYNC計時自動處理整個動畫的同步。

須要特殊用途的話,應用程序能夠經過Choreographer類的API訪問VSYNC計時功能。應用程序能夠要求在下一個VSYNC幀進行驗證,這是不用動畫框架的狀況下的一個很好的安排動畫的方式。更高級的用法是,應用程序能夠再Choreographer類中傳遞迴調函數,這個會在下一幀中調用。

新動畫和過渡類型

如今的動畫框架容許你定義當開始和結束運行ViewPropertyAnimator動畫時採起的行動,幫助他們與其餘動畫或應用程序中的行動進行同步,能夠運行任何Runnable對象。例如,該Runnable對象能夠指定另外一個動畫在前一個動畫完成後開始啓動。

你如今也能夠指定一個ViewPropertyAnimator在動畫過程當中使用一個層。在此以前,最好的作法是動畫完成前創建一個層,而後在onAnimationEnd()事件處理動畫時刪除層。如今,ViewPropertyAnimator中的withLayer()方法可以簡化這個過程,每次只須要調用一個函數就行。

LayoutTransition中的一個新的過渡類型能夠自動響應一個ViewGroup佈局的變化動畫。

新的交流方式

Android Beam

Android Beam是一種流行的基於NFC的技術,它可以讓用戶在兩個有NFC功能的電話接觸之時立刻分享信息。

在Android4.1中,Android Beam使得圖片、視頻和其餘須要藍牙來進行傳輸的數據分享變得更加容易。當用戶觸發傳輸時,Android Beam經過NFC到藍牙的傳輸方式,使得從一個設備傳輸文件到另外一個設備變得很是容易。

wifi網絡服務發現

Andr​​oid 4.1引入了支持基於組播DNS服務的發現,它可讓應用程序查找和鏈接到對端設備經過Wi-Fi網絡所提供的服務 - 包括移動設備、打印機、數碼相機、媒體播放器、以及其餘服務。開發人員能夠利用Wi-Fi網絡服務發現的優點,創建跨平臺或多人遊戲和應用。

使用服務發現的API,應用程序能夠爲任何支持NSD的設備建立和註冊任何種類的服務。服務經過組播在網絡上使用方即可讀的字符串標識符,它可讓用戶更容易識別服務的類型。

消費電子設備可使用API​​進行掃描,發現當地的Wi-Fi網絡鏈接的設備提供的服務。發現後,應用程序可使用API​​來獲得服務的IP地址和端口,經過它能夠創建一個套接字鏈接。

你能夠利用這個API的優點,作成您的應用程序的新功能。例如,你能夠作一個讓用戶鏈接到一個攝像頭、打印機、或其餘移動設備支持的Wi-Fi對等鏈接的應用程序。

WiFi的直接服務發現

Android冰淇淋三明治版本中引入wifi直連技術也就是讓應用程序發現和匹配高帶寬的對等鏈接的技術的支持。 Wi-Fi直連是一個理想的方式來共享媒體、照片、文件和其餘類型的數據和會話,即便那裏沒有手機網絡或Wi-Fi的可用。

在Android果凍豆版本中,Android進一步的提供Wi-Fi直連特性,增長相關服務發現API的支持。前相關的服務發現可讓你的應用程序在跟附近設備鏈接前得到更多關於他們服務支持的的信息。應用程序能夠啓動特定服務的發現並篩選那些真正支持目標服務或應用程序的設備列表。

例如,這意味着你的應用程序能夠發現有打印功能或有一個特定的遊戲的設備,而不是發現附近全部的Wi-Fi 直連設備。另外一方面,您的應用程序能夠發佈到其餘設備的服務,其餘設備能夠發現它,而後創建一個鏈接。這大大簡化了爲用戶發現和配對,讓應用更有效的利用Wi-Fi直連的優點。

有了Wi-Fi直接服務發現,你能夠建立能夠共享全部照片、影片、遊戲、分數、或幾乎任何其餘數據的無需任何互聯網或移動網絡的應用程序和多人遊戲。您的用戶可使用只有一個直接的P2P鏈接,從而避免了使用移動帶寬鏈接。

網絡帶寬管理

Andr​​oid 4.1應用程序管理數據時使用適當的設備鏈接到計量網絡,包括移動熱點。應用程序能夠查詢當前網絡是否能開始大量下載,不然可能會給用戶帶來昂貴的網絡費用。經過該API,您如今能夠獲得清晰的關於哪一個網絡是數據敏感的信息,並相應地可以管理您的網絡活動。

全新的多媒體功能

多媒體×××訪問

Android 4.1提供低級的平臺硬件和軟件×××訪問。App能夠查詢系統,發現怎麼樣的低級的多媒體×××在設備上是可用的。好比,你如今能夠建立多個多媒體×××實例, 隊列進入輸入緩存,並接收返回的輸出緩存。並且,這多媒體×××框架支持被保護的內容。App能夠經過設備上的DRM方式查詢有訪問被保護內容權限的×××。

USB音頻

USB音頻輸出支持硬件廠商生產像audio docks那樣的硬件,它與Android設備對接。這個功能在ADK中一樣開放,全部的開發者能夠創造本身的硬件了。

音頻記錄觸發

在音頻播放軌跡的基礎上,Android如今能夠觸發音頻記錄。在有些狀況頗有用,好比播放一個提示音來提示你的用戶開始說話記錄他們的聲音。這個特性幫你同步記錄,你沒必要再爲播放和記錄太遲而發惱了。

多聲道音頻

Android 4.1 在有多聲道HDMI端口的設備上支持多聲道音頻。多聲道音頻使你的應用更加豐富用戶的音效體驗,好比遊戲、音樂軟件、視頻程序。 不支持的設備,Android會自動混合音頻,通道數爲設備所支持的數量(一般爲立體音)。Android 4.1還內置支持編碼、解碼AAC音頻5.1。

音頻預處理

開發者能夠在記錄時對音頻應用預處理效果,就像應用降噪來提高錄音質量,回聲消除, 和經過不一樣的音量進行增益控制。須要高質量和乾淨音頻記錄的App將會在這些預處理中獲益。

音頻連接

播放器支持連接音頻流在一塊兒播放而不產生停頓。這對須要在不一樣的音頻文件無縫轉換的App頗有用,好比播放連續的唱片或者遊戲音樂。

媒體路由

新的API裏MediaRouter, MediaRouteActionProvider,和MediaRouteButton對選擇哪裏播放媒體提供標準的機制和UI。內置支持有線耳機和a2dp藍牙耳機和揚聲器,並且在你的應用中你能夠添加本身的路由設置。

Renderscript計算

Android 4.1擴展了Renderscript計算,爲咱們帶來了更多的靈活性。如今,你能夠在Renderscript代碼內嘗試紋理, 新的程序可用來定義浮點精度所需的腳本。這使你開啓NEON指令就像在CPU路徑上的速度向量操做, 其餘不可能在IEEE 754-2008標準。

如今,你能夠編譯你的Renderscript計算腳本在x86的設備或者硬件上。 你也能夠定義多root類型內核在一個Renderscript源文件。

 

Android瀏覽器和WebView組件

在Android4.1中,Android瀏覽器和WebViews加強了如下功能:

  • 更好的HTML5視頻的用戶體驗,好比按下播放、暫停鈕的用戶體驗和從內嵌到全屏模式的平穩過分。
  • 改進了滾動和縮放的渲染速度,減小其內存使用,使其得到更好的顯示性能。
  • 改進了HTML5/CSS3/Canvas的動畫性能.
  • 加強了文本輸入組件。
  • 更新了JavaScript引擎(V8)。
  • 支持HTML5中的獲取多媒體圖像規範Media Capture(輸入類型中的"capture"=文件元素名)。

谷歌API和服務

在新版本中,Android系統得到了一些新的服務。

Android雲通信

谷歌雲消息服務(簡稱GCM)容許Android開發者發送短信給Android用戶,而無需特有的同步解決方案。
GCM會處理隊列消息的全部細節並能高效的支持Android設備。它支持多點傳送(羣發,一個請求可最多鏈接1000個設備)。也支持高負載的消息,這意味着,開發者不光能發送很短的數據,最多也可發送高達4K的數據。
GCM是徹底免費的,註冊也很方便,更多關於GCM的信息請參閱GCM介紹

應用程序加密

從Android4.1開始,GooglePlay(谷歌在線應用商店)會經過給每個應用程序在安裝到Android設備以前進行密鑰加密來保護程序的的支付等方面的安全。

智能的程序更新

智能的更新程序是GooglePlay推出的新功能,這是一種更好的更新應用程序的途徑。當開發者們發佈了更新的產品,GooglePlay只會發送須要更新的那一部分到設備中,而不是整個APK程序,這樣使更新的內容變得更小,更方便的下載更新,減小設備上的耗電量和移動數據的流量。平均一次智能更新的下載大小約是更新完整APK程序的三分之一。

GooglePlay 服務(即將推出)

GooglePlay 服務幫助開發者集成Google的服務到開發的應用程序上,好比認證和Google+。
谷歌應用商店給用戶設備自動配置谷歌應用商店服務,這些服務不須要開發者關心,這樣你的應用程序就成了擁有輕量庫文件的瘦客戶端。
由於你的程序有更小的客戶端庫文件,你能夠減少下載文件和存儲空間的大小。此外,不須要開發人員發佈程序更新,GooglePlay將提供按期的更新服務。
更多關於GooglePlay服務的介紹,請參閱Google Play Services頁面

 

轉:http://wiki.eoeandroid.com/index.php?title=Android_4.1_for_Developers&diff=prev&oldid=4289

相關文章
相關標籤/搜索