在應用的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網絡服務發現
Android 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連接,從而避免了使用移動帶寬連接。
網絡帶寬管理
Android 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頁面。