Android Jetpack简介
2018年谷歌I/O 发布了一系列辅助android开发者的实用工具,合称Jetpack,以帮助开发者构建出色的 Android 应用。
这次发布的 Android Jetpack 组件覆盖以下 4 个方面:Architecture、Foundation、Behavior 以及 UI。包括我们在本次 Android P Beta 中带来的 Slices等新功能也包含在其中。此外,Android Jetpack 完美兼容 Kotlin 语言,利用 Android KTX 可大幅节省代码量。作为下一代的 Android 组件,Android Jetpack 通过提供现代化应用架构以及提供强健的向后兼容能力等方式,让开发者能够快速、轻松地创造拥有卓越性能的高质量应用。
新组件
Android Jetpack 附带五个新组件:
- WorkManager alpha 版
- 导航 alpha 版
- 分页稳定版
- 切片 alpha 版
- Android KTX(Kotlin 扩展程序)alpha 版
WorkManager
WorkMananager 组件是一个功能强大的新库,可以为基于约束的后台作业(需要有保障的执行)提供一站式解决方案,消除了使用作业或 SyncAdapter 等框架的需求。WorkManager 提供了一个简化的现代化 API、在安装或未安装 Google Play 服务的设备上运行的功能、创建工作图的功能以及查询工作状态的功能。早期反馈非常令人鼓舞,我们希望确保也能覆盖您的用例。您可以了解我们目前已经完成的工作,并提供对 WorkManager 组件 alpha 版的反馈。
导航
尽管 Activity 是系统提供的您的应用界面的入口点,但在相互分享数据以及转场方面,Activity 表现得不够灵活,这就让它不适合作为构建您的应用内导航的理想架构。今天,我们宣布推出导航组件,作为构建您的应用内界面的框架,重点是让单 Activity 应用成为首选架构。利用导航组件对 Fragment 的原生支持,您可以获得架构组件的所有好处(例如生命周期和 ViewModel),同时让此组件为您处理 FragmentTransaction 的复杂性。此外,导航组件还可以让您声明我们为您处理的转场。它可以自动构建正确的“向上”和“返回”行为,包含对深层链接的完整支持,并提供了帮助程序,用于将导航关联到合适的 UI 小部件,例如抽屉式导航栏和底部导航。但这些并不是全部! Android Studio 3.2 中的导航编辑器让您可以直观地查看和管理导航属性:
导航组件 目前也处于 alpha 版阶段,我们希望收到您的反馈。
分页
应用中呈现的数据可能非常大,这就导致加载的开销比较大,因此,避免一次下载、创建或呈现过多数据就显得非常重要。 分页组件 1.0.0 版让您可以轻松加载和呈现大型数据集,同时在您的 RecyclerView 中进行快速、无限滚动。它可以从本地存储和/或网络加载分页数据,并让您能够定义内容的加载方式。此组件原生支持 Room、LiveData 和 RxJava。
切片
最后,切片组件让一组新功能在 Android Jetpack 中首次亮相。“切片”是一种以搜索结果形式在 Google 智能助理内部显示应用界面的方式:
可以访问 Android 开发者网站, 详细了解切片组件 ,以及如何将其集成到您的应用中。
Android KTX
最后,Android Jetpack 利用 Kotlin 语言功能的一个目标是提高您的效率。Android KTX可以让您将类似下面所示的 Kotlin 代码:
view.viewTreeObserver.addOnPreDrawListener(
object : ViewTreeObserver.OnPreDrawListener {
override fun onPreDraw(): Boolean {
viewTreeObserver.removeOnPreDrawListener(this)
actionToBeTriggered()
return true
}
});
转换成如下所示的更精简的 Kotlin 代码:
view.doOnPreDraw { actionToBeTriggered() }
这只是将 Kotlin 支持带到 Android Jetpack 组件的第一步;我们的目标是让 Android Jetpack 造福 Kotlin 开发者(当然还有 Java 开发者)。您可以在 Android 开发者网站上 详细了解 Android KTX。
开始使用
您可以访问 developer.android.com/jetpack 页面,开始使用 Android Jetpack。您可以在这个页面上找到 Android Jetpack 的文档与视频,查看 Android Jetpack 组件的新功能,加入社区并向我们提供反馈。我们还创建了一个 专门介绍 Android Jetpack 的 YouTube 播放列表 ,您可以观看这些视频,了解 Android Jetpack、组件、工具和最佳实践的相关信息。
Android Jetpack 使用入门 将介绍如何在您现有的应用中集成 Android Jetpack 组件并帮助您开始构建全新的 Android Jetpack 应用。Android Studio 3.2 为 Android Jetpack 提供了出色的工具支持。要构建新应用,请使用 Activity & Fragment+ViewData Activity,您可以在 Android Studio 的 File | New | New Project 下找到此 Activity:
未完待续