写点什么

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:333454
用户头像

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

关注

评论

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

阿里Java面试脑图遭公开,GitHub上已获赞79.6K

Java架构师迁哥

Linux Lab 进阶: Linux 内核

贾献华

Linux Linux Kenel 内核

怎么一本正经地秀技

codevald

Java jdk

有用的信息安全资质查询网站大全

石君

信息安全 28天写作

开发质量系列:系统运营必须派人常驻机房吗?

罗小龙

最佳实践 方法论 28天写作 2月春节不断更

黑客练手入门| pwnable.kr—幼儿瓶—02:collision

BigYoung

安全 CTF PWN 28天写作 2月春节不断更

28天瞎写的第二百三十八天:这一年干了啥?

树上

28天写作

如果非要在多线程中使用ArrayList会发生什么?

看山

线程安全

28天写作

lidaobing

28天写作

智能汽车颠覆世界!(28天写作 Day28/28)

mtfelix

28天写作 智能汽车 未来世界

写在“28天坚持写作活动”的最后一天

JiangX

28天写作

“嗖”一下28 天过去啦,我们都在交作业!

李忠良

28天写作

【LeetCode】子数组的最大平均数

Albert

算法 LeetCode 2月春节不断更

产品经理第四周

克比

数据主权,才是业务在线化的核心

boshi

数据 数字资产 七日更

谈谈我所理解的科幻「-28/28」

道伟

28天写作

浪潮云洲工业互联网平台创新实践,受权威机构关注!

工业互联网

产品训练营第二周作业-利益相关者

马悦

产品 产品经理训练营

【Linux系统】一个常驻进程问题的再次分析

程序员架构进阶

Linux 七日更 28天写作 2月春节不断更 共享内存

MyBatis入门

小马哥

Java mybatis 七日更 2月春节不断更

机器学习笔记之:Matrix Vector Multiplication

Nydia

深入Linux内核之自旋锁spinlock_t机制

赖猫

c++ Linux内核

《我们一起学集合》-LinkedList

蚊子

Java 数据结构 面试 集合 linkedlist

管理笔记[8]:管理中的聚势、借力与计划

L3C老司机

下不了的开人的手

Ian哥

28天写作

ThreadLocal 类以及应用技巧

武哥聊编程

Java 多线程 ThreadLocal 28天写作

Linux 文件搜索神器 find 实战详解,建议收藏!

鞋子特大号

Linux find

CDN加速原理的那些事

28天写作复盘

一笑

28天写作

养成好习惯,需要的不只是意志力

Justin

习惯养成 碎碎念 28天写作

面试时遇到一致性哈希算法这样回答会让面试官眼前一亮

中间件兴趣圈

负载均衡 面试 一致性哈希

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