开发者必看|Android 8.0 新特性及开发指南

背景介绍

谷歌2017I/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

通知渠道是由应用自行定义的通知内容类别,借助渠道,开发者可以让用户对不同种类的通知进行精细控制,用户可以单独拦截或更改每个渠道的行为,而不是统一管理应用的所有通知。

△ 通知渠道图示

开发指南

创建通知渠道的步骤:

  1. 创建 NotificationChannel 对象,并设置应用内唯一的通知 ID。
  2. 配置通知渠道的属性,比如提示声音等。
  3. 在 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 文件中定义您的图层。在 <maskable-icon> 选项中加入您的前景和背景图层。

四 Android O 新特性四 介绍以及开发指南

固定快捷方式和小部件 — 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 进行了优化,使应用的运行速度更快,手机使用更流畅。

今年谷歌2017 I/O 开发者大会还会带来什么你期待的呢?我们也将持续关注。

六 总结

Android 每次的更新,虽然表面上没有非常惊艳的新功能,但在内部,Google 为 Android 的性能做了很多的优化,让 Android 更快更强更有内涵。

目前 Android 的市场占比已经超过85%,智能手机已经全面普及,对于广大手机厂商来说,适配 Google 的系统版本更新迭代是一个挑战。对于开发者来说,让自己的 APP 兼容新系统是首要任务。

腾讯作为中国安卓绿色联盟的创始企业,也不断在为 Android 生态做出贡献。腾讯云乐固团队也是紧跟 Google 的步伐,目前已全面兼容 Android O 。欢迎广大开发者体验试用。

体验地址[也可以点击底部左下方阅读原文访问]:

  • https://www.qcloud.com/product/ms

参考文档链接:

  • https://developer.android.com/preview/index.html

原文发布于微信公众号 - 腾讯云安全(TencentCloudSecurity)

原文发表时间:2017-04-14

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏企鹅号快讯

6大爬虫利器,轻松搞定爬虫

工欲善其事必先利其器,Python之所以流行在于它有非常丰富的第三方包,无论是Web框架还是机器学习框架、抑或是爬虫框架,多得让人眼花缭乱,这给了开发者极大的选...

2056
来自专栏Laoqi's Linux运维专列

LAMP架构之Mysql血泪史

LAMP架构 : Linux+Apache(httpd)+Mysql+Php 当然LAMP的架构可以完全安装在一台server上面,也完全可以安装在不同的ser...

3516
来自专栏编程

常见测试术语解析

BAT,Build Acceptance Testing,工作版本可接受测试。新工作版本正式测试前进行的一项快速测试过程,目的是保证软件的基本功能和内容正确完整...

1967
来自专栏FreeBuf

新年大作战:抵制恶意推广,守护老爸的旧电脑

每年过年回家,基本上都需要做一件事情:重新清理我爸电脑上的垃圾软件或者直接重装系统。 想我爸也是个国家级教师,平时工作使用电脑的频次并不低,却对于电脑这东西跟绝...

2046
来自专栏FreeBuf

新一代子域名爆破工具brutedns

一直相信不要重复造轮子这句话,但是如果可以造出来更好的轮子,我认为那就应该勇敢的去造。总结一下工具特点:人无我有,人有我优。 废话不多说,先说特性。 特性: 1...

3256
来自专栏Youngxj

妮哩萌萌v8.7(nico.styTool)多功能安卓工具箱

1683
来自专栏IMWeb前端团队

Front-End MV*简述(一)

本文作者:IMWeb 何璇 原文出处:IMWeb社区 未经同意,禁止转载 近几年来由于web应用的交互越来越复杂,前端技术也迎来了一个飞速发展的时期。...

18610
来自专栏人人都是极客

为什么现在的监控系统容易硬盘坏?附原理解析

分享一则技术贴,为什么现在的监控系统容易硬盘坏? 电脑不能强制关机,否则会损坏硬盘——相信这是很多人关于电脑使用的最初认知。在如下所示的例子中就有多次强制断电...

3957
来自专栏FreeBuf

英特尔暂停发放CPU补丁, Linux之父怒批“Spectre补丁是彻底的垃圾”

英特尔周一表示用户应当停止在受影响的设备上,部署上个月由安全人员发现的芯片安全Meltdown和Spectre漏洞补丁,因为目前发现了超出预期的重启问题以及其他...

2006
来自专栏顶级程序员

为什么看起来不是很复杂的网站,淘宝、腾讯却需要大量顶尖高手来开发?

为什么看起来不是很复杂的网站,淘宝、腾讯却需要大量顶尖高手来开发? 阿里巴巴员工2万,百度技术人员超过6000,京东也有三四千攻城狮。 子柳: 就拿淘宝来说说...

4138

扫码关注云+社区