在應(yīng)用的manifest文件添加新的XML屬性,可以實現(xiàn)頂部導(dǎo)航欄中定義UI中獨立的Activity組件功能。你可以。在運行時,隨著活動的推出,該系統(tǒng)manifest文件中提取的最多的導(dǎo)航樹,并自動創(chuàng)建在操作欄中向上的啟示導(dǎo)航。開發(fā)誰申報清單導(dǎo)航不再需要管理導(dǎo)航在運行時的回調(diào),但它們也可以這樣做,如果需要的話。
也可以是一個新的TaskStackBuilder類,讓你趕緊把一種人工合成的任務(wù)堆棧立即啟動或PendingIntent啟動時使用的一個活動。創(chuàng)建一個合成任務(wù)堆棧是特別有用的,當(dāng)用戶從偏遠(yuǎn)的意見,如從主屏幕小部件和通知,推出的活動,因為它讓開發(fā)人員提供托管的,一致的體驗,回到導(dǎo)航。
Activity Lanuch 的簡易動畫
您可以使用一個新的helper類,ActivityOptions,創(chuàng)建和控制,動畫顯示,當(dāng)您啟動您的活動。通過輔助類,你可以指定自定義動畫資源活動啟動時要使用的,或要求新的縮放動畫開始從任何你指定在屏幕上,并選擇性地包括一個縮略圖位圖的矩形。
燈輸出和全屏模式的轉(zhuǎn)換
新的系統(tǒng)UI視圖中的標(biāo)志,讓你干凈的過渡,或從一個正常的應(yīng)用程序界面(操作欄,導(dǎo)航欄,系統(tǒng)欄可見),“燈輸出模式”(狀態(tài)欄和操作欄隱藏和導(dǎo)航欄變灰) “全屏模式”(狀態(tài)欄,行動起來吧,所有隱藏的導(dǎo)航欄)。
新的remoteable Views 類型
開發(fā)人員現(xiàn)在可以使用GridLayout的ViewStub在主屏幕小部件和通知的意見。GridLayout的讓你構(gòu)建遠(yuǎn)程意見的內(nèi)容和管理與較淺的UI層次結(jié)構(gòu)中,兒童的意見路線。ViewStub是一種無形的,零大小的視圖,可用于懶洋洋地膨脹在運行時的布局資源。
生活壁紙預(yù)覽
Android 4.1使得它更容易為用戶尋找和安裝現(xiàn)場壁紙,包括他們的應(yīng)用程序。如果您的應(yīng)用程序,包括現(xiàn)場壁紙,你現(xiàn)在可以開始一個活動(ACTION_CHANGE_LIVE_WALLPAPER),顯示了用戶從自己的應(yīng)用程序的動態(tài)壁紙預(yù)覽。從預(yù)覽,用戶可以直接加載動態(tài)壁紙。
更高分辨率的聯(lián)系人照片
與Android 4.1,你可以存儲聯(lián)系人的照片,如大型720×720,使接觸更豐富,更個人。應(yīng)用程序可以在該大小的存儲和檢索聯(lián)系人的照片,或使用任何其他需要的大小。在特定設(shè)備上支持最大的照片尺寸可能會有所不同,所以應(yīng)用程序應(yīng)該查詢內(nèi)置的接觸供應(yīng)商,在運行時獲得當(dāng)前設(shè)備的最大尺寸。
新的輸入類型和功能
弄清有關(guān)設(shè)備添加和刪除的情況
當(dāng)有新的設(shè)備接進(jìn)來的時候,比如通過USB,藍(lán)牙,或任何其他連接類型,應(yīng)用程序會通過注冊的方式得到通知,他們可以使用這些信息來改變狀態(tài)或需要的功能。比如說一個游戲應(yīng)用程序可能會接收到這樣一個通知:有一個新鍵盤或者搖桿接進(jìn)來了,這表明一個新成員加入了。
查詢輸入設(shè)備的功能
Android4.1包含很多輸入設(shè)備功能的APIs,這些APIs能夠讓應(yīng)用程序和游戲充分利用那些接入并有效的輸入設(shè)備的功能。 應(yīng)用程序可以查詢設(shè)備管理器來枚舉當(dāng)前連接的所有的輸入設(shè)備,并了解每個的功能。
控制輸入設(shè)備上的振動器
在其他功能中,應(yīng)用程序現(xiàn)在可以使用任何一個接入的輸入設(shè)備的相關(guān)震動服務(wù),比如震動卡(Rumble Pak )控制器。
Animation and Graphics-動畫和圖形
應(yīng)用程序中的的垂直同步(Vsync)技術(shù)
整個Android框架擴(kuò)展VSYNC會產(chǎn)生一個更加一致的幀頻和流暢、穩(wěn)定的UI。所有的app都將受益,因為Android4.1擴(kuò)展的Vsync計時會影響到用戶引用程序初始化的繪圖和動畫。這能讓他們在UI線程上優(yōu)化操作,并提供了一個穩(wěn)定的同步基。
應(yīng)用程序可以免費利用VSYNC計時的優(yōu)勢,通過Android的動畫框架。動畫框架現(xiàn)在使用VSYNC計時自動處理整個動畫的同步。
需要特殊用途的話,應(yīng)用程序可以通過Choreographer類的API訪問VSYNC計時功能。應(yīng)用程序可以要求在下一個VSYNC幀進(jìn)行驗證,這是不用動畫框架的情況下的一個很好的安排動畫的方式。更高級的用法是,應(yīng)用程序可以再Choreographer類中傳遞回調(diào)函數(shù),這個會在下一幀中調(diào)用。
新動畫和過渡類型
現(xiàn)在的動畫框架允許你定義當(dāng)開始和結(jié)束運行ViewPropertyAnimator動畫時采取的行動,幫助他們與其他動畫或應(yīng)用程序中的行動進(jìn)行同步,可以運行任何Runnable對象。例如,該Runnable對象可以指定另一個動畫在前一個動畫完成后開始啟動。
你現(xiàn)在也可以指定一個ViewPropertyAnimator在動畫過程中使用一個層。在此之前,最好的做法是動畫完成前建立一個層,然后在onAnimationEnd()事件處理動畫時刪除層。現(xiàn)在,ViewPropertyAnimator中的withLayer()方法能夠簡化這個過程,每次只需要調(diào)用一個函數(shù)就行。
LayoutTransition中的一個新的過渡類型可以自動響應(yīng)一個ViewGroup布局的變化動畫。
新的交流方式
Android Beam
Android Beam是一種流行的基于NFC的技術(shù),它能夠讓用戶在兩個有NFC功能的電話接觸之時馬上分享信息。
在Android4.1中,Android Beam使得圖片、視頻和其他需要藍(lán)牙來進(jìn)行傳輸?shù)臄?shù)據(jù)分享變得更加容易。當(dāng)用戶觸發(fā)傳輸時,Android Beam通過NFC到藍(lán)牙的傳輸方式,使得從一個設(shè)備傳輸文件到另一個設(shè)備變得非常容易。
wifi網(wǎng)絡(luò)服務(wù)發(fā)現(xiàn)
Android 4.1引入了支持基于組播DNS服務(wù)的發(fā)現(xiàn),它可以讓應(yīng)用程序查找和連接到對端設(shè)備通過Wi-Fi網(wǎng)絡(luò)所提供的服務(wù) - 包括移動設(shè)備、打印機(jī)、數(shù)碼相機(jī)、媒體播放器、以及其他服務(wù)。開發(fā)人員可以利用Wi-Fi網(wǎng)絡(luò)服務(wù)發(fā)現(xiàn)的優(yōu)勢,建立跨平臺或多人游戲和應(yīng)用。
使用服務(wù)發(fā)現(xiàn)的API,應(yīng)用程序可以為任何支持NSD的設(shè)備創(chuàng)建和注冊任何種類的服務(wù)。服務(wù)通過組播在網(wǎng)絡(luò)上使用方便可讀的字符串標(biāo)識符,它可以讓用戶更容易識別服務(wù)的類型。
消費電子設(shè)備可以使用API進(jìn)行掃描,發(fā)現(xiàn)當(dāng)?shù)氐腤i-Fi網(wǎng)絡(luò)連接的設(shè)備提供的服務(wù)。發(fā)現(xiàn)后,應(yīng)用程序可以使用API來得到服務(wù)的IP地址和端口,通過它可以建立一個套接字連接。
你可以利用這個API的優(yōu)勢,做成您的應(yīng)用程序的新功能。例如,你可以做一個讓用戶連接到一個攝像頭、打印機(jī)、或其他移動設(shè)備支持的Wi-Fi對等連接的應(yīng)用程序。
WiFi的直接服務(wù)發(fā)現(xiàn)
Android冰淇淋三明治版本中引入wifi直連技術(shù)也就是讓應(yīng)用程序發(fā)現(xiàn)和匹配高帶寬的對等連接的技術(shù)的支持。 Wi-Fi直連是一個理想的方式來共享媒體、照片、文件和其他類型的數(shù)據(jù)和會話,即使那里沒有手機(jī)網(wǎng)絡(luò)或Wi-Fi的可用。
在Android果凍豆版本中,Android進(jìn)一步的提供Wi-Fi直連特性,增加相關(guān)服務(wù)發(fā)現(xiàn)API的支持。前相關(guān)的服務(wù)發(fā)現(xiàn)可以讓你的應(yīng)用程序在跟附近設(shè)備連接前獲得更多關(guān)于他們服務(wù)支持的的信息。應(yīng)用程序可以啟動特定服務(wù)的發(fā)現(xiàn)并篩選那些真正支持目標(biāo)服務(wù)或應(yīng)用程序的設(shè)備列表。
例如,這意味著你的應(yīng)用程序可以發(fā)現(xiàn)有打印功能或有一個特定的游戲的設(shè)備,而不是發(fā)現(xiàn)附近所有的Wi-Fi 直連設(shè)備。另一方面,您的應(yīng)用程序可以發(fā)布到其他設(shè)備的服務(wù),其他設(shè)備可以發(fā)現(xiàn)它,然后建立一個連接。這大大簡化了為用戶發(fā)現(xiàn)和配對,讓應(yīng)用更有效的利用Wi-Fi直連的優(yōu)勢。
有了Wi-Fi直接服務(wù)發(fā)現(xiàn),你可以創(chuàng)建可以共享所有照片、影片、游戲、分?jǐn)?shù)、或幾乎任何其他數(shù)據(jù)的無需任何互聯(lián)網(wǎng)或移動網(wǎng)絡(luò)的應(yīng)用程序和多人游戲。您的用戶可以使用只有一個直接的P2P連接,從而避免了使用移動帶寬連接。
網(wǎng)絡(luò)帶寬管理
Android 4.1應(yīng)用程序管理數(shù)據(jù)時使用適當(dāng)?shù)脑O(shè)備連接到計量網(wǎng)絡(luò),包括移動熱點。應(yīng)用程序可以查詢當(dāng)前網(wǎng)絡(luò)是否能開始大量下載,否則可能會給用戶帶來昂貴的網(wǎng)絡(luò)費用。通過該API,您現(xiàn)在可以得到清晰的關(guān)于哪個網(wǎng)絡(luò)是數(shù)據(jù)敏感的信息,并相應(yīng)地能夠管理您的網(wǎng)絡(luò)活動。
全新的多媒體功能
多媒體解碼器訪問
Android 4.1提供低級的平臺硬件和軟件解碼器訪問。App可以查詢系統(tǒng),發(fā)現(xiàn)怎么樣的低級的多媒體解碼器在設(shè)備上是可用的。比如,你現(xiàn)在可以創(chuàng)建多個多媒體解碼器實例, 隊列進(jìn)入輸入緩存,并接收返回的輸出緩存。而且,這多媒體解碼器框架支持被保護(hù)的內(nèi)容。App可以通過設(shè)備上的DRM方式查詢有訪問被保護(hù)內(nèi)容權(quán)限的解碼器。
USB音頻
USB音頻輸出支持硬件廠商生產(chǎn)像audio docks那樣的硬件,它與Android設(shè)備對接。這個功能在ADK中同樣開放,所有的開發(fā)者可以創(chuàng)造自己的硬件了。
音頻記錄觸發(fā)
在音頻播放軌跡的基礎(chǔ)上,Android現(xiàn)在可以觸發(fā)音頻記錄。在有些情況很有用,比如播放一個提示音來提示你的用戶開始說話記錄他們的聲音。這個特性幫你同步記錄,你不必再為播放和記錄太遲而發(fā)惱了。
多聲道音頻
Android 4.1 在有多聲道HDMI端口的設(shè)備上支持多聲道音頻。多聲道音頻使你的應(yīng)用更加豐富用戶的音效體驗,比如游戲、音樂軟件、視頻程序。 不支持的設(shè)備,Android會自動混合音頻,通道數(shù)為設(shè)備所支持的數(shù)量(通常為立體音)。Android 4.1還內(nèi)置支持編碼、解碼AAC音頻5.1。
音頻預(yù)處理
開發(fā)者可以在記錄時對音頻應(yīng)用預(yù)處理效果,就像應(yīng)用降噪來提升錄音質(zhì)量,回聲消除, 和通過不同的音量進(jìn)行增益控制。需要高質(zhì)量和干凈音頻記錄的App將會在這些預(yù)處理中獲益。
音頻鏈接
播放器支持鏈接音頻流在一起播放而不產(chǎn)生停頓。這對需要在不同的音頻文件無縫轉(zhuǎn)換的App很有用,比如播放連續(xù)的唱片或者游戲音樂。
媒體路由
新的API里MediaRouter, MediaRouteActionProvider,和MediaRouteButton對選擇哪里播放媒體提供標(biāo)準(zhǔn)的機(jī)制和UI。內(nèi)置支持有線耳機(jī)和a2dp藍(lán)牙耳機(jī)和揚(yáng)聲器,而且在你的應(yīng)用中你可以添加自己的路由設(shè)置。
Renderscript計算
Android 4.1擴(kuò)展了Renderscript計算,為我們帶來了更多的靈活性。現(xiàn)在,你可以在Renderscript代碼內(nèi)嘗試紋理, 新的程序可用來定義浮點精度所需的腳本。這使你開啟NEON指令就像在CPU路徑上的速度向量操作, 其他不可能在IEEE 754-2008標(biāo)準(zhǔn)。
現(xiàn)在,你可以編譯你的Renderscript計算腳本在x86的設(shè)備或者硬件上。 你也可以定義多root類型內(nèi)核在一個Renderscript源文件。
Android瀏覽器和WebView組件
在Android4.1中,Android瀏覽器和WebViews增強(qiáng)了以下功能:
- 更好的HTML5視頻的用戶體驗,比如按下播放、暫停鈕的用戶體驗和從內(nèi)嵌到全屏模式的平穩(wěn)過度。
- 改進(jìn)了滾動和縮放的渲染速度,減少其內(nèi)存使用,使其獲得更好的顯示性能。
- 改進(jìn)了HTML5/CSS3/Canvas的動畫性能.
- 增強(qiáng)了文本輸入組件。
- 更新了JavaScript引擎(V8)。
- 支持HTML5中的獲取多媒體圖像規(guī)范Media Capture(輸入類型中的"capture"=文件元素名)。
谷歌API和服務(wù)
在新版本中,Android系統(tǒng)獲得了一些新的服務(wù)。
Android云通訊
谷歌云消息服務(wù)(簡稱GCM)允許Android開發(fā)者發(fā)送短信給Android用戶,而無需特有的同步解決方案。
GCM會處理隊列消息的所有細(xì)節(jié)并能高效的支持Android設(shè)備。它支持多點傳送(群發(fā),一個請求可最多連接1000個設(shè)備)。也支持高負(fù)載的消息,這意味著,開發(fā)者不光能發(fā)送很短的數(shù)據(jù),最多也可發(fā)送高達(dá)4K的數(shù)據(jù)。
GCM是完全免費的,注冊也很方便,更多關(guān)于GCM的信息請參閱GCM介紹。
應(yīng)用程序加密
從Android4.1開始,GooglePlay(谷歌在線應(yīng)用商店)會通過給每一個應(yīng)用程序在安裝到Android設(shè)備之前進(jìn)行密鑰加密來保護(hù)程序的的支付等方面的安全。
智能的程序更新
智能的更新程序是GooglePlay推出的新功能,這是一種更好的更新應(yīng)用程序的途徑。當(dāng)開發(fā)者們發(fā)布了更新的產(chǎn)品,GooglePlay只會發(fā)送需要更新的那一部分到設(shè)備中,而不是整個APK程序,這樣使更新的內(nèi)容變得更小,更方便的下載更新,減少設(shè)備上的耗電量和移動數(shù)據(jù)的流量。平均一次智能更新的下載大小約是更新完整APK程序的三分之一。
GooglePlay 服務(wù)(即將推出)
GooglePlay 服務(wù)幫助開發(fā)者集成Google的服務(wù)到開發(fā)的應(yīng)用程序上,比如認(rèn)證和Google+。
谷歌應(yīng)用商店給用戶設(shè)備自動配置谷歌應(yīng)用商店服務(wù),這些服務(wù)不需要開發(fā)者關(guān)心,這樣你的應(yīng)用程序就成了擁有輕量庫文件的瘦客戶端。
因為你的程序有更小的客戶端庫文件,你可以減小下載文件和存儲空間的大小。此外,不需要開發(fā)人員發(fā)布程序更新,GooglePlay將提供定期的更新服務(wù)。
更多關(guān)于GooglePlay服務(wù)的介紹,請參閱Google Play Services頁面。
