相信很多安卓开发者已经注意到 Google 推出的全新系列博客 Now in Android,向全世界开发者介绍 Android 的最新发展动态。从去年八月一号发出第一篇 Now in Android: Episode #1 , 到最近的 Now in Android #13,每一篇都值得大家一看。
虽然 Google 也会推出 Now in Android 中文版,但基本要比 Medium 上晚半个月左右。好像不是 Now in Android ,应该是 Past in Android 。为了让大家也能第一时间了解最新信息,我准备同步跟进 Now in Android ,第一时间为大家带来中文介绍。
这里不会逐字逐句翻译,根据段落大意提炼总结。读者们也可以点击文末的 阅读原文 直接查看原文。
下面进入正题。
作者首先吐槽了 13 这个数字。13 在西方国家是个不吉利的数字,所以你可以把本篇当做 #14 。当下一篇又发布 #14 的时候,告诉自己这肯定是软件错误。还挺幽默。
下面就来说说过去两周的一些值得关注的事情。
Android 11 :首个开发者预览版
对安卓开发者来说,过去两周的一个大新闻就是 Android 11 首个开发者预览版发布了。你可以下载适用于 Pixel 2 / 3 / 3a / 4 设备的系统镜像,开始体验这个全新的版本,并开始测试你的 App 了。
简单说说首个开发者预览版本的新特性。
- 5G 支持。新的 动态计费状态 API 和 带宽估测 API 。
- 气泡 。气泡内置于通知系统中。它们悬浮在其他应用内容之上,并会跟随用户移动到任何位置。气泡可以展开以显示应用功能和信息,并可在不使用时收起。在 Android 10 中引入,但是隐藏在开发者选项中,默认禁用。现在已经启用了。
- 单次权限 。提供了类似 iPhone 的权限机制,用户可以选择赋予临时的单次权限。仅仅当你的应用可见或者前台服务正在运行,才具有权限。一旦离开应用,下次仍需用户授予权限。
- 分区存储 在 Android 10 引入,本次预览版中的改进包括可选的媒体原始文件路径访问、更新过的 DocumentsUI、MediaStore 中的批量编辑操作。
- 生物验证 API 。扩展了生物验证的支持,以满足各种设备的需求。BiometricPrompt 现在支持三种不同颗粒度级别的身份验证类型: 强、弱和设备凭据。同时兼容了 AndroidX BiometricPrompt 。
- Data blob 。现在可以使用 BlobStoreManager 在应用之间安全快速的共享大型二进制数据对象。这对大文件下载,共享 ML 模型很有用。
关于 Android 11 的更多信息,请查看 Android 开发者博客。
Android Sutdio
3.6
Android Studio 发布了 3.6 稳定版,并且一如以往尿性的没过几天就发布了 3.6.1 。具体更新内容就不细说了,这里推荐一篇 掘金的一篇文章 Android Studio 3.6 发布啦,快来围观 。
还是提一点,View Binding 发布了,虽然对我来说并没有想使用它的冲动。
4.0: Beta
- Motion Editor,MotionLayout 的可视化编辑器,帮助你构建更丰富的动画。
- 实时布局检查器。期待中......
4.1: Canary
4.0 release 中已经删除了 Jetpack Compose 编译器。如果你想体验 pre-alpha 版本的 Compose UI 工具,你需要 4.1 版本。
这么说,Jetpack Compose 又跳票了~
后台定位指南
问: 用户隐私中最重要的三件事情是什么? 答: 定位,定位,定位。
官方文档提供了关于后台请求定位的最新信息。
Dynamic Feature Module Testing
这个就不多说了,反正国内也用不了。
Material Motion
动画是个好东西,但是比较难实现,特别是元素和页面之间丰富的过度动画。
Material Design 团队最近发布了一篇全面的 文档,同时也发布了 Material Design Components 类库的 1.2.0-alpha05 版本。
文章
Nick Butcher 发布了两篇 Android Style 系列的文章,都是和主题属性(Theme Attributes) 相关。
Android Styling: Common Theme AttributesAndroid Styling: Prefer Theme Attributes
Use view binding to replace findViewById
View Binding 是 Android Studio 中集成的一项功能,让你可以轻松获取布局中视图的引用,并且是类型安全的,而无需使用众所周知的冗长乏味的 findViewById() 。
我暂时还没有使用它。我更喜欢 Kotlin Extension
和 DataBinding
。
Using BiometricPrompt with CryptoObject: How and Why
Isai Damier 介绍了如何使用密码学和生物识别来保证数据安全,特别是对于政府,金融,健康和企业应用。这里是 代码示例 。
Code Sample :生物识别登录
该示例展示了如何使用 AndroidX biometric library 正确集成生物认证。
视频
Vector Assets
如何使用 Vectors 提供清晰,可调整大小,生动的图像。
Sealed Classes
这是一个 Kotlin 系列,之前已经介绍过 inline 、type alias 等。
AndroidX Releases
最近发布的稳定版:
主要都是 bug fix ,Fragment 添加了一些有用的 link 检查。
Thanks to Nick Butcher.