写点什么

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

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

关注

评论

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

为什么说编程是新时代必学的技能?

代码生成器研究

前端又出新轮子Nue.js,但还是低代码更香!

伤感汤姆布利柏

前端 低代码 前端框架 极简主义 nue

IPQ5018 IPQ6010 IPQ8072 Support Wallystech Latest Opensource Code Repository

wallyslilly

IPQ6010 IPQ8072 ipq5018

软件测试/人工智能|Python算术运算符:入门指南

霍格沃兹测试开发学社

手把手教你使用 RisingWave 流数据库

吴英骏

分布式 rust 流处理 物化视图 数据库设计流程

精选21款免费项目管理系统,哪款更适合你?

PingCode

项目管理 项目经理 项目管理软件

人工智能技术:一文带你了解何谓AIGC

不在线第一只蜗牛

人工智能 AI技术 AIGC 人工智能技术

债务管理一体化领先实践,全面提升融资管理效率,有效防控风险

用友BIP

云计算与低代码:加速应用开发与创新的双核引擎

快乐非自愿限量之名

云计算 云原生 低代码

软件测试/人工智能|Python Pip 常用命令大全

霍格沃兹测试开发学社

如何理解微服务体系结构中的 CQRS

快乐非自愿限量之名

数据库 微服务

用友承建!居然之家人力资源数智化项目成功上线!

用友BIP

走软件开发的捷径——低代码之路

树上有只程序猿

软件开发 低代码 JNPF

每日一题:LeetCode-322. 零钱兑换

半亩房顶

面试 算法 LeetCode 动态规划 贪心算法

String 拼接字符串效率低?是真的吗?

红袖添香

Java 字节码 字符串拼接

制作红木家具3d模型

3D建模设计

3D模型 材质贴图 纹理贴图 材质纹理

如何为 3D 模型制作纹理的最佳方法

3D建模设计

材质 纹理 贴图 3D模型纹理贴图

中企全球化:王文京与新加坡建筑企业集永成共谋数智化新发展

用友BIP

微信小程序 WXSS 是如何编译的?

FN0

小程序 小程序容器

低代码/无代码火热的缘由

这我可不懂

软件开发 低代码 JNPF

「X」Embedding in NLP|Token 和 N-Gram、Bag-of-Words 模型释义

Zilliz

nlp NLP 大模型 Milvus AIGC

还记得当初自己为什么选择计算机?

代码生成器研究

Java多线程系列4:线程协同

BigBang!

Java多线程

文心一言 VS 讯飞星火 VS chatgpt (150)-- 算法导论12.2 6题

福大大架构师每日一题

福大大架构师每日一题

机器学习-ROC曲线:技术解析与实战应用

快乐非自愿限量之名

人工智能 机器学习 深度学习

3D模型制作木质纹理贴图

3D建模设计

3D模型 材质贴图 纹理贴图 材质纹理

供应商企业在线询价招投标管理系统

金陵老街

王文京与厦航董事长、党委书记赵东交流座谈,共商助力智慧民航建设

用友BIP

软件测试/人工智能|Python运算符:初学者指南

霍格沃兹测试开发学社

少写代码,用更便捷的方式开发程序

代码生成器研究

探索Web前端技术的变革与未来发展

EquatorCoco

前端 Web 技术开发

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