写点什么

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

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

关注

评论

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

长安汽车*IoTDB | 构建1.5亿时间序列车况数据处理方案,查询稳定实现毫秒级返回

Apache IoTDB

性能再升级,XMeter Cloud专业版正式上线

EMQ映云科技

物联网 IoT 云服务 mqtt 企业号 1 月 PK 榜

跨域:后端工程师最熟悉的陌生“人”

华为云开发者联盟

后端 华为云 跨域 企业号 1 月 PK 榜

NFTScan 与 AlienSwap 达成战略合作伙伴,双方在 NFT 数据层面展开合作

NFT Research

NFT

等保堡垒机选择哪个厂家好?咨询电话多少?

行云管家

等保 堡垒机 等级保护

新一代 IT 服务管理平台 DOSM,助力企业数字化转型

云智慧AIOps社区

数字化转型 运维自动化 智能运维 云智慧 IT管理

Linux常用命令

Geek_7ubdnf

Linux

算力攻坚,视频云背后的「硬」核玩家

云布道师

阿里云 视频云

pip安装时 fatal error C1083 无法打开包括文件 “io.h” No such file or directory

Geek_7ubdnf

Python

易观:2022年中国产业数字化发展成熟度指数报告

易观分析

数字化 产业 报告

redis.conf 7.0 生产配置详解,全网最全

码哥字节

NoSQL 数据库 redis 底层原理 Redis 7

从TMMI角度谈谈质量度量

老张

软件测试 质量度量

【碎碎念】下雪了

Firshare

年终总结

中冶赛迪*IoTDB | 多项目全流程以IoTDB为时序数据处理方案,预计写入查询效率提升一倍

Apache IoTDB

亚马逊云科技启示录:创新作帆,云计算的征途是汪洋大海

亚马逊云科技 (Amazon Web Services)

云计算 亚马逊云科技 Builder 专栏

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

Apache IoTDB

软件测试/测试开发 | Jenkins job 机制该如何使用?

测试人

软件测试 jenkins 自动化测试 测试开发

【HA小知识】DRBD数据不一致怎么办?怎么处理?

行云管家

高可用 ha 高可用软件

EMQ & IoTDB 联合 Meetup 回顾 | 数据基础设施软件的应用实践分享

Apache IoTDB

Apache IoTDB & SeaTunnel 联合 Meetup | 10月15日 线上直播预约开启!

Apache IoTDB

软件测试/测试开发 | 做到这几点,你也能成为 BAT 的抢手人!

测试人

软件测试 自动化测试 测试开发 测试工程师

年中盘点 | 2022年,PaaS 再升级

亚马逊云科技 (Amazon Web Services)

PaaS 亚马逊云科技 Builder 专栏

软件测试/测试开发 | Jenkins 持续集成体系介绍

测试人

软件测试 持续集成 jenkins 自动化测试 测试开发

软件测试/测试开发丨Java or Python?测试开发工程师如何选择合适的编程语言?

测试人

Java Python 软件测试 自动化测试 测试开发

Linux安装tensorflow

Geek_7ubdnf

Linux

对话 BitSail Contributor | 姚泽宇:新生火焰,未来亦可燎原

字节跳动数据平台

大数据 开源 字节跳动 数据引擎

如何管理项目干系人?

敏捷开发

项目管理 项目干系人

Apache IoTDB 中的时间精度 | 铁头乔分享

Apache IoTDB

站酷基于服务网格 ASM 的生产实践

阿里巴巴中间件

阿里云 云原生 服务网格

不写代码就实现了自动化测试,面试官都惊呆了!Apipost的自动化测试功能强烈推荐

徐天

自动化测试 apipost

屡获殊荣|旺链科技亮相2022中国双链年会并喜获佳绩

旺链科技

区块链 区块链技术 双链年会

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