背景介绍

谷歌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。

1. Activity.enterPictureInPictureMode(PictureInPictureArgs args):将Activity置于 PIP 模式之下。

2. Activity.setPictureInPictureArgs():用于更新 Activity 在 PIP 模式下的设置。如果 Activity 正处于 PIP 模式之下,那么更改的属性将立即生效。

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

自适应图标—Adaptive Icons

Android 的屏幕适配一直以来都折磨着不少的开发者。为了帮助开发者更好的与设备 UI 集成,Android O 支持创建自适应图标,系统可以基于设备选择的蒙版将这些图标显示为不同形状。系统还将实现与图标的自动交互,并在启动器、快捷方式、设置、共享对话框以及概览屏幕中使用它们。

△ 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 文件中定义您的图层。在 <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 兼容新系统是首要任务。

原文地址:http://www.4hou.com/technology/4270.html


更多相关文章

  1. Android O 开发者预览版新特性
  2. Android 开发者 | 应用兼容性注意事项
  3. Android开发者如何搭建服务器
  4. Android P 开发者预览版 · 操作指南
  5. Android 开发者的 Flutter(三) —— Flutter 中的动画与绘制
  6. Android开发者面试一百题
  7. 推荐给Android开发者的抢手书单
  8. Android intent消息通知机制
  9. 谷歌Android智能手机成应用开发者的宠儿

随机推荐

  1. 使用命令建立简单的布局
  2. android ActionBar(官方指导)
  3. XMPP android 相关收集
  4. Android学习笔记6——基本布局
  5. android.view.InflateException: Binary
  6. Android曲线绘制demo
  7. android界面模糊到清晰,效果去除
  8. Android: android source code online
  9. Android中ListView的addFooterView不显示
  10. android上的i-jetty