1. 程式人生 > >Android 8.0新特性及開發指南

Android 8.0新特性及開發指南

一、通知渠道 — Notification Channels

通知渠道是由應用自行定義的通知內容類別,藉助渠道,開發者可以讓使用者對不同種類的通知進行精細控制,使用者可以單獨攔截或更改每個渠道的行為,而不是統一管理應用的所有通知。

開發指南

建立通知渠道的步驟:

1、建立 NotificationChannel 物件,並設定應用內唯一的通知 ID。

2、配置通知渠道的屬性,比如提示聲音等。

3、在 NotificationManager 中註冊通知渠道物件。

二、畫中畫模式 — PIP

Android O 現已支援 Activity 的畫中畫模式。PIP 是一種多視窗顯示模式,多用於視訊播放,即你可以一邊發微信一邊看視訊。

開發指南

1> 關於生命週期

PIP 模式不會改變 Activity 的生命週期。在指定時間只有最近與使用者互動過的 Activity 為活動狀態。 該 Activity 將被視為頂級 Activity。 所有其他 Activity 雖然可見,但均處於暫停狀態。當一個 Activity 處於 PIP 模式時,其實它是出在暫停狀態,但其內容會繼續展示。

2> API變更

在 Android O 中新增 PictureInPictureArgs 物件來指明你的 Activity 在 PIP 模式中的屬性,比如長寬比等。

Android O 還新增了以下方法來支援 PIP。

  1. Activity.enterPictureInPictureMode(PictureInPictureArgs args):將Activity置於 PIP 模式之下。
  2. Activity.setPictureInPictureArgs():用於更新 Activity 在 PIP 模式下的設定。如果 Activity 正處於 PIP 模式之下,那麼更改的屬性將立即生效。
三、自適應圖示-Adaptive Icons

Android 的螢幕適配一直以來都折磨著不少的開發者。為了幫助開發者更好的與裝置 UI 整合,Android O 支援建立自適應圖示,系統可以基於裝置選擇的蒙版將這些圖示顯示為不同形狀。系統還將實現與圖示的自動互動,並在啟動器、快捷方式、設定、共享對話方塊以及概覽螢幕中使用它們。

開發指南

1> 自適應圖示支援多種形狀

通過定義兩張圖層(前景與背景)你可以制定你的桌面圖示外觀,你必須提供沒有形狀和陰影的 PNG 格式圖象作為圖層。

△ 多形狀桌面圖示外觀圖示

2> 自適應圖示由兩張圖層和一個形狀來定義

在以前的 Android 版本中,圖示大小定義為 48 x 48 dp。現在你必須按照以下的規範定義你的圖層大小:

  1. 兩張圖層大小都必須為 108 x 108 dp。
  2. 圖層中心 72 x 72 dp 範圍為可視範圍。
  3. 系統會保留四周外的 36dp 範圍用於生成有趣的視覺效果(如視差和跳動)。

3> 建立你的自適應圖示

首先你需要在 Application 標籤中加入 Android:icon 屬性,定義你的 icon 圖示。其次如果你需要建立一個原型的 icon,你還需要加入 Android:roundIcon 屬性。

接下來,你需要 res/mipmap-anydpi/ic_launcher.xml 檔案中定義您的圖層。在 選項中加入您的前景和背景圖層。

固定快捷方式和小部件 — Pinning shortcuts

Pinning shortcuts 是一個比 APP shortcuts 更小的快捷方式,放置於桌面上,用於更快速的開啟某一 APP 的某單一任務。Pinning shortcuts 在桌面上可呈現不同的圖示顯示。

△ 固定快捷方式和小部件圖示

開發指南

  1. 首先使用 isRequestPinShortcutSupported() 方法校驗手機是否支援啟動這種快捷方式。
  2. 建立 ShortcutInfo 物件。
  3. 用 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 進行了優化,使應用的執行速度更快,手機使用更流暢。



相關推薦

Android 8.0特性開發指南

一、通知渠道 — Notification Channels 通知渠道是由應用自行定義的通知內容類別,藉助渠道,開發者可以讓使用者對不同種類的通知進行精細控制,使用者可以單獨攔截或更改每個渠道的行為,而不是統一管理應用的所有通知。 開發指南 建立通知渠道的步驟: 1、建立

Android O / Android 8.0 特性開發指南

谷歌2017 I/O開發者大會今年將於5月17-19日在美國加州舉辦。大會將跟往年一樣釋出最新的 Android 系統,今年為 Android 8.0。谷歌在今年3 月21日釋出 Android 新系統開發者預覽版時已給新系統取名為 Android O。自2008 年釋出

開發者必看|Android 8.0 特性開發指南

背景介紹 谷歌2017 I/O開發者大會今年將於5月17-19日在美國加州舉辦。大會將跟往年一樣釋出最新的 Android 系統,今年為 Android 8.0。谷歌在今年3 月21日釋出 Android 新系統開發者預覽版時已給新系統取名為 Android O。自2008

Android 8.0 特性開發指南

背景介紹 谷歌2017I/O開發者大會今年將於5月17-19日在美國加州舉辦。大會將跟往年一樣釋出最新的 Android 系統,今年為 Android 8.0。谷歌在今年3 月21日釋出 Android 新系統開發者預覽版時已給新系統取名為 Android O。自200

Android8.0特性開發指南(轉載)

背景介紹谷歌2017 I/O開發者大會今年將於5月17-19日在美國加州舉辦。大會將跟往年一樣釋出最新的 Android 系統,今年為 Android 8.0。谷歌在今年3 月21日釋出 Android 新系統開發者預覽版時已給新系統取名為 Android O。自2008 年

android 8.0 特性:通知渠道

  由於Google的限制,要求在2018年10月之前 targetSdkVersion 必須在26以上,更改過之後發現在androd 8手機上不再推送通知,檢視android 8.0官方文件發現,添加了通知渠道新特性,並要求targetSdkVersion 26以上的and

Android 8.0 特性

背景介紹 Android O 是 Google 釋出的第14個新系統版本。 那備受開發者關注的 Android O 有哪些新特性,開發者需要關注哪些問題呢?騰訊雲樂固團隊結合相關文件對此進行了分析總結,我們一起來看看 Android O 的新特性及開發指南。

是時候瞭解一下Android 8.0 特性

背景介紹 谷歌2017 I/O開發者大會今年將於5月17-19日在美國加州舉辦。大會將跟往年一樣釋出最新的 Android 系統,今年為 Android 8.0。谷歌在今年3 月21日釋出 Android 新系統開發者預覽版時已給新系統取名為 Android

Android 8.0特性適配測試報告來啦!

WeTest 導讀谷歌2017 I/O開發者大會上釋出了Android 8.0的正式版, 其官方代號為Oreo(奧利奧)。網上關於Android8.0新功能特性的介紹已鋪天蓋地,新功能特性會對程式應用帶來哪些影響呢,我們從相容性角度來看下這部分變化。 測試版本:Android 8.0  安裝啟動測試 A

Android7.0特性,Android N適配

部落格園轉載Url:http://www.cnblogs.com/gccbuaa/p/7375272.html新特性部分Android 7.0 Nougat 提供新功能以提升效能、生產效率和安全性,主要新增了下面的新特性和優化:一、新的NotificationAndroid

Android O 8.0特性(四) 官方Demo

主要採用的google翻譯,不當之處,還望指正.Code Samples 程式碼示例Use the code samples below to learn about Android 8.0 (API level 26) capabilities and APIs. To d

MySQL 8.0特性

MySQL8.0新特性一、MySQL 8.0中添加的功能1、新的系統字典表 整合了存儲有關數據庫對象信息的事務數據字典,所有的元數據都用InnoDB引擎進行存儲2、支持DDL 原子操作 InnoDB表的DDL支持事務完整性,要麽成功要麽回滾,將DDL操作回滾日誌寫入到data dictionary

Android 9.0特性

進入 估算 電話 定制化 看電影 時間 體驗 cati adapt 1、全面屏支持,Android P加入了對劉海屏的支持,谷歌稱之為凹口屏幕(display with a cutout)。借助最新的提供的DisplayCutout類,開發者可以找到非功能區域的位置和形狀,

[翻譯] C# 8.0 特性

原文: [翻譯] C# 8.0 新特性 原文: Building C# 8.0 [譯註:原文主標題如此,但內容大部分為新特性介紹,所以意譯標題為 "C# 8.0 新特性"] C# 的下一個主要版本是 8.0。我們已經為它工作了很長一段時間,即使我們構建併發布了次要版本 C# 7.1, 7.2 和 7.3,

MySQL 8.0特性--CTE(二)

上一篇介紹了CTE的基本用法,參考MySQL 8.0新特性--CTE(一),本篇再來介紹一下CTE Recurive遞迴。 1、什麼是CTE Recurive? A recursive common table expression is one having a subquery that refe

MySQL 8.0特性之Windows Function

MySQL8.0開始像Oracle一樣支援視窗函數了,先來跑個SQL,感受一下視窗函式的魅力。 mysql> create table numbers(val int); mysql> insert into numb

MySQL 8.0特性--invisible index

invisible index特點 預設建立的索引都是visible,如果需要invisible索引建立的時候需要指定invisible引數。 預設無法使用invisible index索引,需要開啟引數optimizer_switch='use_invisible_indexes=on'才能使用;

MySQL 8.0特性--Descending Indexes(六)

Descending Indexes降序索引 降序索引主要是用來減少排序,去除filesort的。 MySQL支援降序索引:索引定義中的DESC不再被忽略,而是按降序儲存鍵值。以前,索引可以以相反的順序掃描,但會影響效能。可以按前向順序掃描降序索引,效率更高。當最有效的掃描順序混合了某些列的升序和其他

MySQL 8.0特性--skip scan range access method(七)

先來個示例: mysql> CREATE TABLE t1 (f1 INT NOT NULL, f2 INT NOT NULL, PRIMARY KEY(f1,&nbs

MySQL 8.0特性之原子DDL

  文章來源:愛可生雲資料庫   簡介   MySQL8.0 開始支援原⼦ DDL(atomic DDL),資料字典的更新,儲存引擎操作,寫⼆進位制日誌結合成了一個事務。在沒有原⼦DDL之前,DROP TABLE t