亮爆你的眼球 Android 4.0最新開發亮點
譯文為手機、平板設備等提供統一的UI框架
Android 4.0帶來了統一的UI,允許開發人員為手機及平板設備創建更為優雅的創新型應用程序。它包含了全部為我們所熟知的界面元素及API——例如片段、內容加載器、動作欄、豐富多樣的通知手段、可調節的主屏幕尺寸等等——此外還加入了很多新元素及API。
對于開發人員而言,Android 4.0中的統一化UI框架意味著全新的UI工具、具備延續性的設計方式、簡單的代碼與資源以及流暢的Android全機型開發體驗。
溝通與共享
將溝通與共享功能擴展到設備上的每一款應用程序當中。應用程序能夠將用戶的任何活動或社交網絡與自身的聯系人、個人資料數據以及日程安排整合起來。
◆社交 API
社交共享API為聯系人、個人資料數據、狀態更新及照片帶來了統一的存儲方案。任何獲得用戶許可的應用程序或社交網絡都能夠帶來新的社交聯系人,并使其接觸到更多其它應用程序及網絡。獲得用戶許可的應用程序同時也可以讀取個人資料數據并將這些內容顯示出來。
社交型API允許應用程序以標準化方式存儲各類給定聯系人的資料內容,包括大量個人照片及近期活動反饋。近期活動反饋對于應用程序來講類似一種通過公共活動識別聯系人的“標簽”,例如用戶對某位聯系人發出呼叫、發送郵件或短信等活動。該社交處理體系以近期活動反饋作為聯系人排序優先級的參考數據,始終保持那些與我們接觸最多的聯系人處于名單列表的頂端。
應用程序同時可以讓用戶從People應用中與聯系人建立社交連接。當用戶添加某位聯系人的連接時,該應用程序將會發送一條能夠為其它各類應用接收及處理的公共通知,并顯示出創建該社交連接所需的UI。
在社交型API的基礎上,開發人員們能夠添加強大的、跨社交網絡及聯系人資源的全新交互功能。
◆日歷 API
共享型日歷內容提供程序及框架API使其更易于被開發人員所掌握,進而添加到每款處于開發階段的應用程序中去。
經過用戶的許可,任何應用程序都可以向共享數據庫中添加事件,并管理日程、出席者信息、警報及提醒等。應用程序同時能從數據庫中讀取全部內容,包括來自其它應用的事件,并將其正確處理并顯示出來。利用日歷提供程序,各類應用得以匯總來自多種應用程序及協議的事件數據,進而讓用戶的日程安排獲得創新型的瀏覽及管理方式。應用程序同樣會在日歷數據的幫助下改善自身其它內容與用戶日程的相關性。
為了使日歷服務的訪問更加輕量化,日歷應用為創建、瀏覽及編輯事件定義了一套公共規范。比起以往采用日歷UI及與日歷提供程序直接整合的辦法,如今應用程序得以輕松地在本機上廣播日程安排。當日歷應用接收到此類信息后,它會立即啟動合適的UI并存儲下全部事件數據。有了日歷通知功能,應用程序就能夠讓用戶直接從列表、對話或是主屏幕的某些區域處添加新事件,例如預訂餐廳或是與朋友們約好時間。
◆可視語音信息 API
共享型語音信息提供程序及API允許開發人員們創建有助于統一化語音郵件存儲的應用程序。語音信箱的顯示及運行都在手機平臺應用中的日志調用標簽中實現。
◆Android Beam
Android Beam是一種基于NFC(即近距離通訊技術)的功能,允許用戶只需讓兩臺具備NFC功能的手機接近,就能夠即時分享他們使用的應用程序信息。當設備之間的距離在幾厘米范圍內時,系統會設置一條NFC連接并顯示出共享UI。想要與對方分享自己設備上所瀏覽的內容,用戶只需在屏幕上進行簡單的觸控操作即可。
對于開發人員來說,Android Beam是一種能夠觸發幾乎任何類型設備近距離交流的新途徑。例如,它可以讓用戶即時交換聯系人信息、設置多人游戲、加入聊天或視頻呼叫、分享照片或視頻等等。該系統提供了低級NFC支持及共享UI,而前臺應用能夠將輕量化的關鍵性數據傳送至其它設備上。由于開發人員事先已經把數據的共享方式及處理辦法控制好了,因此幾乎各類交互功能都能通過這種途徑實現。對于數據量更大的有效載入信息,開發人員甚至可以先利用Android Beam建立起連接,再通過藍牙進行數據傳輸,這就連直觀的配對過程也省去了。
開發人員即使不打算將以Android Beam為基礎的自定義交互功能加入應用程序,他們仍然會從中受益,因為Android Beam已經深深集成到Android系統當中。在默認設置下,系統會共享應用程序的Android Market URL,因此對用戶來講立即下載或是購買某款應用程序將變得極其簡單。
◆模塊化共享組件
UI框架中此次包含了一個全新組件,即ShareActionProvider。它使得開發人員能夠快速將標準化共享功能及UI嵌入到自己的應用程序動作欄中。開發人員只需將ShareActionProvider添加到主菜單中,并設置一下該共享動作所需要的描述即可輕松實現。當用戶從菜單中選擇對應選項,該系統會自動完成剩下的工作,包括創建能夠處理對應通知的應用程序列表。#p#
全新的媒體處理能力
◆低級多媒體流
為低級多媒體流提供了一種直接、高效的處理途徑。這種新途徑需要在媒體數據傳送到描述平臺前對其保持完全控制。舉例來說,媒體應用程序如今能夠從任何來源處檢索數據(也適用于任何加密/解密機制),接著將數據發送到專門負責顯示的平臺上。
應用程序現在可以將經過處理的數據以MPEG-2傳輸流格式當成復數音頻/視頻內容發送到目標平臺處。該平臺會對內容進行解復用、解碼并最終顯示出正確內容。音軌則由活動音頻設備進行渲染,同時視頻軌道由Surface或者SurfaceTexture負責處理。當由SurfaceTexture處理時,應用程序將能夠利用OpenGL對每一幀圖像進行后續圖形效果進行渲染。
為了支持這種低級流,該平臺引入了以Khronos OpenMAX AL 1.0.1為基礎的全新原生API。此API與平臺現有的OpenSL ES API采用同樣的底層設備實現,因此開發人員可以在需要的時候同時使用這兩款API。低級多媒體流的支持工具使用的則是即將發布的Android NDK。
◆全新的攝像功能
開發人員可能充分體驗Android 4.0帶來的全新攝像功能優勢。ZSL曝光、連續對焦及圖像縮放使得應用程序能夠更好地捕捉靜止及視頻圖像,這些功能在拍攝視頻時也能奏效。應用程序甚至可以在視頻拍攝的過程中捕捉全分辨率快照。應用程序現在能夠在相機的預覽設置中自定義測光區域,然后針對這些區域對白平衡及動態曝光效果加以管理。為了簡化聚集及圖像處理,人臉檢測服務會幫助我們標記及追蹤預覽畫面中的面孔,并將其位置返回到屏幕上的對應坐標處。
◆圖像及視頻轉換方面的媒體效果
一套高性能的轉換過濾器讓開發人員在任何通過OpenGL ES 2.0紋理處理的圖像中,都擁有大量豐富的效果可用。開發人員可以使用調整色彩層及亮度、背景變化、銳化、裁剪、旋轉、添加鏡頭失真及其它各類適用的效果。此類轉換過程由GPU負責處理,因此即使是來自硬盤、相機或是視頻流媒體中的圖像幀也能獲得上佳的處理速度。
◆音頻遠程控制
Android 4.0新增了一款全新的音頻遠程控制API,允許媒體應用程序通過遠程視圖對播放進行控制。媒體應用程序同樣能夠調用平臺上預置的遠程音樂播放控制功能,這使得用戶無需解鎖設備及操作音樂應用程序即可完成歌曲選擇及播放。
在音頻遠程控制API的幫助下,任何音樂或媒體應用程序都可以利用遠程控制注冊并接收媒體操控按鈕設置,再相應管理播放狀態。應用程序還可以為遠程控制提供詮釋資料,例如專輯封面或影像、播放狀態、曲目編號及描述、歌曲長度以及歌曲流派等等。
◆全新的媒體解碼器及容器
Android 4.0增加了額外的媒體類型及容器,這為開發人員提供了必要的格式支持。對于高品質壓縮圖像而言,媒體框架加入了對WebP內容的支持。而在視頻方面,該框架現在支持VP8流媒體內容。對于多媒體流,該框架支持HTTP實時流媒體協議第三版及ADTS中的AAC內容編碼。除此之外,開發人員如今還能夠針對Vorbis及VP8內容使用Matroska容器。#p#
全新的連接類型
◆Wi-Fi 直連
開發人員可以利用框架API,通過高性能、高安全性的Wi-Fi直連來搜索并直接連入附近的設備。這樣即使沒有互聯網連接或熱點也沒關系了。
Wi-Fi直連為開發人員帶來了新的機遇,使他們可以將更多創新型功能帶入其應用程序當中。應用程序可以通過Wi-Fi直接與臺式機及其它Android設備共享文件、照片或其它媒體內容。應用程序還能夠通過Wi-Fi直連從同類設備上接收流媒體內容,進而實現諸如數字電視或音頻播放器播放、加入游戲群組、打印文件等等功能。
◆藍牙為醫療設備規范(簡稱HDP)服務
開發人員們現在可以利用藍牙在無線通訊方面的優勢創建醫用應用程序,進而在管理醫院、健身中心、家庭及其它場所中的無線設備及傳感器方面大顯身手。應用程序可以從HDP源設備處收集數據并加以管理,再將結果傳輸到后端的醫療應用程序中,例如記錄系統、數據分析服務等等。
使用框架API,應用程序能夠借助藍牙搜索附近的設備、建立可靠的數據流通渠道并管理數據傳輸。應用程序還能為連續工作的各類設備提供任何由IEEE 11073管理器實現的數據檢索及解釋功能,包括心率監視器、血流計、溫度計等等。#p#
全新的UI組件及功能
◆布局增強
名為GridLayout的全新布局方案改善了Android應用程序在扁平化視圖層上的支持效果,帶來更快的排布及渲染速度。由于層的扁平化,開發人員還可以在組件對象不具備邏輯關系的前提下對各部分的總體平面圖加以管理,進而嚴格掌控應用程序的UI外觀。GridLayout同時也是一款經過專門設計的拖放式設計工具,正如同ADT Plug-in之于Eclipse一樣。
◆OpenGL ES 紋理視圖
一套全新的紋理視圖對象使得開發人員直接將OpenGL ES紋理作為渲染目標整合到UI層當中。該對象允許開發人員將OpenGL ES渲染作為層結構中的正常視圖對象加以顯示及操作,包括按需求移動、轉換及動畫播放。該紋理視圖對象還令開發人員能夠更輕松地嵌入拍攝預覽、視頻解碼以及OpenGL游戲場景等。紋理視圖可以被視為現有SurfaceView對象的增強版本,因為它在提供GL表層渲染帶來的種種好處之外,還能夠充分發揮其表層全面加入普通視圖層的優勢。
◆2D繪圖硬件加速
所有運行Android 4.0系統的Android設備都要求具備2D繪圖硬件加速能力。開發人員能夠借助這一優勢,在提升UI視覺效果的同時保持高分辨率下的優異性能表現,即使在手機設備上也是如此。舉例來說,開發人員可以像在紋理視圖合成模式下實現過濾、混合及不透明化等效果一樣,通過加速機制完成縮放、旋轉及其它2D繪圖操作。#p#
全新的輸入方式及文本服務
◆手寫輸入、多點觸控及懸停事件
Android 4.0中包含了對手寫輸入事件的全面支持,諸如傾斜及距離軸、壓力感應及相關動作事件屬性。為了幫助應用程序區分不同來源的動作事件,該平臺還添加了手寫筆、手指、鼠標及橡皮擦等多種感應模式。針對多點觸控設備的改善需求,當前的平臺提供了初級、中級乃至高級動作以及前進與后退動作。懸停及懸停退出事件也為導航及其它輔助功能帶來了改進。開發人員可以將這些全新的輸入功能加入自己的應用程序中,以獲得更為精確的圖形及手勢識別、筆跡與形狀識別、更好的鼠標輸入效果等等。
◆集成拼寫檢查功能的文字服務API
Android 4.0允許應用程序通過查詢使用文字服務,例如字典與拼寫修改建議、更正以及相似數據聯動。文字服務對于輸入法編輯器而言屬于外部活動,因此開發人員能夠以插件的形式為平臺創建和發布字典及拼寫建議。當應用程序從文字服務處接收到結果時——例如單詞拼寫建議——它會將其顯示在一個專門用于提示建議內容的文本彈出窗口之中,而非通過輸入法編輯器加以顯示。
◆增強的輔助功能API
Android 4.0增加了新的輔助功能與增強API,使開發人員得以進一步提高自己的應用程序在用戶體驗方面的感受,特別是對于那些沒有硬件按鈕的設備來說。以屏幕閱讀器這類無障礙服務為例,該平臺提供了新的API用于查詢窗口內容、簡化導航及反饋,并帶來更為豐富的用戶界面。
◆輔助功能API
為了使應用程序在輔助功能啟用時獲得更加有效的互動體驗,該平臺為觸控模式、滾動操作及文本選擇添加了無障礙事件。對于此類事件,該平臺可以附加一個名為輔助記錄的新對象,旨在提供與該事件相關的額外背景信息。
在輔助記錄及相關API的幫助下,應用程序如今能夠訪問與事件相關聯的視圖層。應用程序可以查詢的關鍵屬性包括主次節點、可用狀態、支持的操作、屏幕位置等等。應用程序還可以要求某些特定屬性發生變化,以幫助管理那些重要及選中的狀態。舉例來說,輔助服務可以利用上述新功能添加諸如屏幕文本搜索等便捷的新特性。
◆文本——語音轉換API
一款新的框架API允許開發人員編寫文本到語音的轉換引擎,并提供給任何請求TTS(即文本到語音轉換)功能的應用程序。
◆高效的網絡使用率
在Android 4.0當中,用戶能夠看到其上運行的應用程序正使用多少網絡數據流量。他們還可以根據網絡類型對數據使用率進行限制,并禁止特定應用程序在后臺中使用網絡數據。在此前提之下,開發人員需要在自己的應用程序中設計出更為高效的網絡連接檢查機制。Android 4.0提供的網絡API讓應用程序得以順利實現上述目標。
由于用戶對網絡或網絡數據的限制,該平臺允許應用程序查詢當前網絡連接情況及可用性。開發人員可以通過這些信息動態管理網絡請求,以確保用戶得到最佳的使用體驗。開發人員還能夠在應用程序中創建個性化的網絡及數據使用選項,然后直接通過系統設置通知反饋給用戶。#p#
應用程序及內容安全性
◆驗證證書的安全管理體系
Android 4.0使得應用程序更容易地對認證及安全會話加以管理。一款新的鑰匙鏈API及底層加密存儲機制讓應用程序能夠順利存儲并檢索私有密鑰及與其相關的證書。任何應用程序都可以使用鑰匙鏈API以安裝并安全地存儲用戶證書及CA。
◆地址空間隨機布局
Android 4.0現在還提供地址空間隨機化布局(簡稱ASLR)功能,旨在幫助用戶保護系統及第三方應用程序遠離內存管理問題的困擾。#p#
企業業務增強
◆VPN 客戶端API
開發人員現在可以通過一款全新的VPN API及底層安全證書存儲在平臺中創建或擴展自己的VPN解決方案。在用戶的許可之下,應用程序能夠配置地址及路由規則、處理發送及接收到的數據包并與遠程服務器之間建立安全傳輸通道。企業還可以利用系統中內置的VPN客戶端訪問L2TP及IPSec協議。
◆攝像頭設備管理規范
該平臺增加了一套新的管理規范,用于幫助管理員管理引入此規范的接入設備。管理員們現在能夠為那些工作于敏感環境中的用戶遠程禁用設備上的攝像頭。