盤點最受開發者喜愛的Android 5.0 Lollipop API
英文原文:12 great Lollipop APIs every Android 5.0 developer will love
作為 Android 系統的一次重大升級,Android 5.0 Lollipop 突出采用全新的 Material Design 設計語言,不但在視覺和操作上更勝一籌,還包含擴展 UI 工具包供開發者使用,為應用添加 3D 實時陰影,可縮放矢量“drawbles”以及流暢的動畫效果。本文著重介紹了其中值得開發者深愛的 12 款 API,趕緊一睹為快吧!
- 3D 視圖和實時陰影
Android 5.0 的 elevation 屬性能為應用添加了妙不可言的 3D 視圖效果。開發者只需對應用的圖像對象重新設定 elevation,圖像下的實時陰影就會自動顯現,打造出一種漂浮在屏幕之上的奇妙畫面。此外,還可以用 setTranslationZ 函數來設定 elevation,例如 view.setTranslationZ (120)。或用 ViewPropertyAnimator.z () 和 ViewPropertyAnimator.translationZ ()函數來使 elevation 靈動起來,從而讓應用脫穎而出。
- Activity Transitions
這個名為 Activity Transitions 的 API 讓 Lollipop 應用有了更好的切換體驗。開發者可通過尋找視圖 ID 以及創建 Intent 和 Bundle 來定義不同 Activity 之間的動畫切換,再啟動 Activity(startActivity ()函數)就大功告成了。
- Heads-up
Android 5.0 通知中心的亮點在于名為 “Heads-up”的創新通知模式及其卡片式的清新風格,用戶不必退出當前的全屏界面,即可啟動或關閉漂浮在屏幕上方的提醒。比如通過設置 Heads-up 將來電提醒顯示在文字屏幕(《愛麗絲夢游仙境》節選)的頂部。
在 Android 5.0 Lollipop 的鎖屏上,用戶無需下拉通知欄就能夠查看新消息并進一步操作,還能將個別信息標記為隱私等等,功能強大。
- Leanback UI 和 Android TV 輸入框架
Android 5.0 創新引入了 Android TV 的 Leanback UI,大大滿足了開發 Android TV 應用的需求。
上面的代碼顯示的是如何在 Android 5.0 的應用清單中添加 LEANBACK_LAUNCHER 意圖過濾器,讓應用的 Leanback UI 跟 Android TV 嚴絲合縫。Android 5.0 自帶 Leanback 等程序庫,Android TV 輸入框架和 aka TIF(幫助 TV 應用處理來自 HDMI 輸入、電視調諧器和 IPTV 接收器的視頻流)框架,在精簡代碼的同時,讓應用 UI 與 Android 設備完美融合。
- Overview
Android 5.0 棒棒糖的“Overview(概覽)”是傳統多任務視窗的升級版,全新的 UI 呈現卡片重疊的即視感,清新又簡潔。用戶不僅可以在不同應用之間移動自如,還能在用一個應用的不同任務之間流暢切換,好不愜意。
雖然不能決定 Overview 界面的整體效果,但通過編寫 Intent,開發者能自行定義應用向 Overview 添加或從中刪除時的視覺體驗。
- 低功耗藍牙
Android 5.0 新開放的 API 可以讓應用與低功耗藍牙(BLE,Bluetooth Low Energy)的掃描(中心模式)和廣告(外圍模式)實現并行操作。低功耗藍牙在保證應用性能和功能的同時降低了電量消耗,近些年來越來越受到健 康&健身類應用的青睞。
- OpenGL ES 3.1 和 Android 擴展包
OpenGL ES 3.1 和 Android 擴展包為 Android 5.0 開發者們提供高性能的 2D 和 3D 圖像 API,包括計算著色器、模板紋理、加速視覺效果、高級紋理渲染、棋盤花紋著色器、幾何著色器、ASTC 紋理壓縮、樣本缺失值插補和著色等強大功能,能夠適用于不同品牌的圖形處理器。
- MediaBrowser 和 MediaSession
android.media.browse API 能讓 Android 5.0 應用在運行過程中瀏覽其他應用的媒體內容庫。MediaBrowserService 代碼能使內容顯示在原應用上。總而言之,此 API 旨在實現不同應用間更好的融合——在視覺上呈現同樣的用戶界面,在操作上免除重復的麻煩。
除此之外,上圖所示的 MediaSession 代替已被棄用的 RemoteControlClient,提供一組傳輸控制和 Media Button 的回調函數。
- 低延遲音頻輸入
Android 多媒體框架支持多種多樣常規音頻格式的捕捉和編碼,讓音頻和應用輕而易舉合二為一。若設備硬件支持的話,可以用 Media-Recorder API 來記錄音頻。在讀取數據后,全新的音頻捕捉設計就能流暢地完成任務了。高速客戶端采用本地取樣頻率、通道數和位深度;普通客戶端具備重新采樣、上/下行通 道混合以及上/下位深度的特點。
- 兼容 RAW 圖像格式的 New Camera API
RAW 格式以更高動態范圍,更少人工痕跡,更多后期制作選擇的優勢略勝 JPEG 格式一籌,深受專業攝影師的青睞。如今迎來了 Android 5.0 棒棒糖時代,Android 相機也能拍出 RAW 格式的圖片了。
上面的代碼段主要是如何捕捉 Android 相機的 JPEG 格式圖片。CameraDevice 的前身,即新的 Camera2 能兼容 RAW_SENSOR 圖片格式,還能編寫 Adobe DNG(數字底片)格式的 RAW 像素數據。
- 管理配置過程
傳統上 Android 的安全性顯然不及黑莓和 iOS,而如今 Android 終于扭轉乾坤。開發者可借助 Android 5.0 全新的管理配置過程在設備上創建安全的工作文件夾,而應用開始運行時會有一個“Work”標記,IT 管理員負會責管理 Work 應用以及工作文件夾中的數據。
此外,在配置之前,開發者還可用編程應用的 NFC 數據傳送進一步部署和激活一個 Device Owner。Device Owner 應用可借助 DevicePolicyManager 中的函數來實現管理設備中格局,安全以及應用的粒度控制。
- 截屏和分享
在 Android 5.0 Lollipop 之前,似乎沒有哪個版本能夠實現便利截圖,我們曾試圖借助 SDK 和調試器來截圖,但由于必要的設備驅動程序難以定位,往往會產生更多的問題。另外一個方法是安裝第三方截圖應用,但必須要 root 設備。
現在大多數 Android 設備的 UI 支持至少不止一種截圖功能。比如在 Moto X 上,同時按下電源開關和下切換鍵就可以截屏了。現在,Android 5.0 應用可以自行捕捉屏幕,首先用參數 MEDIA_-PROJECTION_SERVICE 調用 Context.getSystemService (),得到 MediaProjectionManager 類別實例;其次,調用 createScreenCaptureIntent ()得到一個 Intent;再次,使用 startActivityForResult ()啟動屏幕捕捉;最后,將結果返回到 getMediaProjection ()上,獲取捕捉數據。
<span id="shareA4" class="fl">
</span>
</div>