写点什么

Android Jetpack 带来 WorkManager、Navigation 等特性

  • 2018-05-30
  • 本文字数:1156 字

    阅读完需:约 4 分钟

看新闻很累?看技术新闻更累?试试下载 InfoQ 手机客户端,每天上下班路上听新闻,有趣还有料!

Android Jetpack 为 Android 应用程序带来了新的组件、工具和架构指南。新组件包括 WorkManager、Navigation、Paging、Slices 和 Android KTX。

Android Jetpack 组件将现有的支持库和架构组件汇集在一起​​,并将它们分为四类:

Android Jetpack 的组件作为“非捆绑”库提供,不属于底层 Android 平台的一部分。这意味着开发人员可以自由使用每个组件。此外,非捆绑的 Android Jetpack 库已全部移到新的 androidx.* 命名空间中(本文进行了详细描述)。

此外,应用程序可以在各种版本的Android 平台上运行,因为Android Jetpack 组件功能独立于底层Android 版本,从而提供向后兼容性。

WorkManager 是一个新的库,它为基于约束的后台作业提供解决方案,可用以替代作业或 SyncAdapter 之类的东西。WorkManager 提供了简洁的现代 API,旨在简化异步任务的指定,不管是在有 Google Play 服务还是没有 Google Play 服务的设备上均可运行。

Navigation 简化了导航的实现,旨在让单 Activity 应用成为首选的架构。通过内置的 fragment 支持,可充分利用架构组件(如 Lifecycle 和 ViewModel)的所有优势,而 Navigation 会为开发者处理 FragmentTransactions 的复杂性。开发者可以使用 Android Studio 3.2 提供的导航编辑器直观地查看和管理导航属性。

通过 Paging 1.0.0 可以很容易地在 RecyclerView 中以快速且无限滚动的方式加载和呈现大型数据集。它可以从本地存储、网络加载分页数据,并可以自定义如何加载内容。它可以与 Room、LiveData 和 RxJava 一起使用。

Slices 是一种 UI 模板,可以从 Google Search 和其他位置(如 Google Assistant)显示来自应用程序的交互式动态内容。

Android KTX 是一套 Kotlin 扩展,它为 Kotlin 优化了 Jetpack 和 Android 平台 API。Android KTX 旨在使 Kotlin 的开发更加简洁、舒适和顺畅。它可以将 Kotlin 代码:

复制代码
view.viewTreeObserver.addOnPreDrawListener(
object : ViewTreeObserver.OnPreDrawListener {
override fun onPreDraw(): Boolean {
viewTreeObserver.removeOnPreDrawListener(this)
actionToBeTriggered()
return true
}
});

转换成更简洁的 Kotlin 代码,如下所示:

复制代码
view.doOnPreDraw { actionToBeTriggered() }

你可以在 developer.android.com/jetpack 上查看如何开始使用 Android Jetpack。YouTube 上有一个 Android Jetpack 播放列表,可以在其中查找有关 Android Jetpack、组件、工具和最佳实践的信息。

Android Jetpack 入门指南将告诉你如何将 Android Jetpack 引入到现有项目或开始新项目。Android Studio 3.2 支持 Android Jetpack,你也可以为 Jetpack 提供反馈

查看英文原文 Android Jetpack Brings WorkManager, Navigation and More

2018-05-30 13:333207
用户头像

发布了 731 篇内容, 共 472.9 次阅读, 收获喜欢 2008 次。

关注

评论

发布
暂无评论
发现更多内容

整个汽车产业链,都能“挤上”这朵云?

脑极体

“程”风破浪的开发者|satoken实现优雅鉴权

codingyt

学习方法 安全 鉴权 10月月更 “程”风破浪的开发者

数字经济浪潮下,企业如何通过数字体验平台(DXP)更好的与用户建立联系?

Baklib

客户体验

SpringBoot之基础知识

Andy

开源直播课丨大数据集成框架ChunJun类加载器隔离方案探索及实践

袋鼠云数栈

“程”风破浪的开发者|从一大堆杂事中要效率

架构精进之路

学习方法 提升效率 “程”风破浪的开发者

华为云桌面,如何用心保护企业安全?

科技之光

选择华为云数据库,三大亮眼优势来助力

科技之光

八大技术亮点,华为云数据灾备解决方案为企业数据铸就安全防护强

科技之光

激活数据价值,探究DataOps下的数据架构及其实践丨DTVision开发治理篇

袋鼠云数栈

云上作业就是这么轻松,华为云桌面的工作新体验

爱科技的水月

SpringBoot简介

Andy

SpringBoot之快速启动

Andy

华为云连接CC,解决企业跨地区发展的网络难题

路过的憨憨

华为

Gtags解决UnicodeEncodeError问题

Geek_pwdeic

公共 IP 地址和私有 IP 地址有什么区别?

wljslmz

IP地址 网络技术 10月月更 公网ip 私网ip

华为云弹性云服务器助力打造更安全可靠、灵活高效的云空间

爱尚科技

灾变来袭不用怕,华为云数据灾备解决方案为你排忧解难

科技之光

对话熊飞2022:好的经营需要时间,TO B 从好产品好故事进化为好商业

B Impact

企业办公转型的出路在哪里?华为云桌面开创办公新形式

爱科技的水月

​Apache IoTDB UDF 「Sample」的案例与最佳实践

Apache IoTDB

数据库 Apache IoTDB

华为云安全性、可靠性、资源、创新性跻身行业前列

爱尚科技

Spring之AOP

Andy

10-15-有效兼顾员工工作幸福感和工作进展,华为云会议稳定便捷又高效!

路过的憨憨

华为

SpringBoot之错误处理

Andy

政企办公新入口,华为云桌面安全便捷更高效!

爱科技的水月

Spring事务

Andy

SpringBoot之开发深入

Andy

标签评分:海量标签如何进行系统治理?

袋鼠云数栈

聚焦云计算、大数据、人工智能等开源技术,这场开源开发者的盛会不容错过!

开源社

#开源 COSCon'22 2022 第七届中国开源年会

开源大数据集成框架ChunJun在数据还原上的探索和实践

袋鼠云数栈

Android Jetpack带来WorkManager、Navigation等特性_移动_Diogo Carleto_InfoQ精选文章