開發者必看|Android 8.0 新特性及開發指南
背景介紹
谷歌2017 I/O開發者大會今年將於5月17-19日在美國加州舉辦。大會將跟往年一樣釋出最新的 Android 系統,今年為 Android 8.0。谷歌在今年3 月21日釋出 Android 新系統開發者預覽版時已給新系統取名為 Android O。自2008 年釋出以來, Android 依靠 Google 的生態運作,全球市場份額在2016年底已超過85% 。而近幾年依靠 Android 發展起來的智慧手機廠商不斷增加, Android 生態大家庭也正在不斷壯大。
Android O 是 Google 釋出的第14個新系統版本。 那備受開發者關注的 Android O 有哪些新特性,開發者需要關注哪些問題呢?結合相關文件對此進行了分析總結,我們一起來看看 Android O 的新特性及開發指南。
Android O 新特性一介紹以及開發指南
通知渠道 — Notification Channels
通知渠道是由應用自行定義的通知內容類別,藉助渠道,開發者可以讓使用者對不同種類的通知進行精細控制,使用者可以單獨攔截或更改每個渠道的行為,而不是統一管理應用的所有通知。
開發指南
建立通知渠道的步驟:
- 建立 NotificationChannel 物件,並設定應用內唯一的通知 ID。
- 配置通知渠道的屬性,比如提示聲音等。
- 在 NotificationManager 中註冊通知渠道物件。
Android O 新特性二介紹以及開發指南
畫中畫模式 — PIP
Android O 現已支援 Activity 的畫中畫模式。PIP 是一種多視窗顯示模式,多用於視訊播放,即你可以一邊發微信一邊看視訊。
△ 畫中畫模式圖示
開發指南
1> 關於生命週期
PIP 模式不會改變 Activity 的生命週期。在指定時間只有最近與使用者互動過的 Activity 為活動狀態。 該 Activity 將被視為頂級 Activity。 所有其他 Activity 雖然可見,但均處於暫停狀態。當一個 Activity 處於 PIP 模式時,其實它是出在暫停狀態,但其內容會繼續展示。
2> API變更
在 Android O 中新增 PictureInPictureArgs 物件來指明你的 Activity 在 PIP 模式中的屬性,比如長寬比等。
Android O 還新增了以下方法來支援 PIP。
- Activity.enterPictureInPictureMode(PictureInPictureArgs args):將Activity置於 PIP 模式之下。
- Activity.setPictureInPictureArgs():用於更新 Activity 在 PIP 模式下的設定。如果 Activity 正處於 PIP 模式之下,那麼更改的屬性將立即生效。
Android O 新特性三紹以及開發指南
自適應圖示 — Adaptive Icons
Android 的螢幕適配一直以來都折磨著不少的開發者。為了幫助開發者更好的與裝置 UI 整合,Android O 支援建立自適應圖示,系統可以基於裝置選擇的蒙版將這些圖示顯示為不同形狀。系統還將實現與圖示的自動互動,並在啟動器、快捷方式、設定、共享對話方塊以及概覽螢幕中使用它們。
△ Android O 支援建立自適應圖示圖示
開發指南
1> 自適應圖示支援多種形狀
通過定義兩張圖層(前景與背景)你可以制定你的桌面圖示外觀,你必須提供沒有形狀和陰影的 PNG 格式圖象作為圖層。
△ 多形狀桌面圖示外觀圖示
2> 自適應圖示由兩張圖層和一個形狀來定義
在以前的 Android 版本中,圖示大小定義為 48 x 48 dp。現在你必須按照以下的規範定義你的圖層大小:
- 兩張圖層大小都必須為 108 x 108 dp。
- 圖層中心 72 x 72 dp 範圍為可視範圍。
- 系統會保留四周外的 36dp 範圍用於生成有趣的視覺效果(如視差和跳動)。
3> 建立你的自適應圖示
首先你需要在 Application 標籤中加入 Android:icon 屬性,定義你的 icon 圖示。其次如果你需要建立一個原型的 icon,你還需要加入 Android:roundIcon 屬性。
接下來,你需要 res/mipmap-anydpi/ic_launcher.xml 檔案中定義您的圖層。在 選項中加入您的前景和背景圖層。
Android O 新特性四介紹以及開發指南
固定快捷方式和小部件 — Pinning shortcuts
Pinning shortcuts 是一個比 APP shortcuts 更小的快捷方式,放置於桌面上,用於更快速的開啟某一 APP 的某單一任務。Pinning shortcuts 在桌面上可呈現不同的圖示顯示。
△ 固定快捷方式和小部件圖示
開發指南
- 首先使用 isRequestPinShortcutSupported() 方法校驗手機是否支援啟動這種快捷方式。
- 建立 ShortcutInfo 物件。
- 用 requestPinShortcut() 方法應用 Pinning shortcuts。你可以通過 PendingIntent 來通知你的 shortcuts 有沒有建立成功。
Android O 其他特性介紹
除了以上幾個新特性以外,Android O 還未增加了其他的功能。比如增加了 Autofill Framework,方便使用者在不同 APP 之間填寫資訊。比如開放 android.permission.ANSWER_PHONE_CALLS,以後在自己的 APP 裡也可以對來電做響應。
在效能優化上,Android O 還對隱式廣播、後臺服務和位置更新等進行了後臺自動限制,以此來增加手機電池壽命。並對 Java 8 Language API 和 Runtime 進行了優化,使應用的執行速度更快,手機使用更流暢。
今年穀歌2017 I/O 開發者大會還會帶來什麼你期待的呢?我們也將持續關注。
總結
Android 每次的更新,雖然表面上沒有非常驚豔的新功能,但在內部,Google 為 Android 的效能做了很多的優化,讓 Android 更快更強更有內涵。
目前 Android 的市場佔比已經超過85%,智慧手機已經全面普及,對於廣大手機廠商來說,適配 Google 的系統版本更新迭代是一個挑戰。對於開發者來說,讓自己的 APP 相容新系統是首要任務。
參考文件連結:
此文已轉載自騰訊雲技術社群,轉載請註明文章出處