写点什么

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

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

关注

评论

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

Rust从0到1-Cargo-自定义命令

rust cargo 自定义命令 Custom Commands

包租婆软件开发|包租婆系统APP开发

BVD比特视频APP系统开发搭建

Redisson 分布式锁源码 04:可重入锁释放

程序员小航

Java redis 分布式锁 redisson redisson 分布式锁

架构实战营 作业 模块一

脉醉

#架构实战营

Rust从0到1-Cargo-Workspaces

rust cargo workspaces

学习哪门编程语言好,我来回答

实力程序员

在线HTTP请求/响应头转JSON工具

入门小站

工具

程序员跳槽指南

孙叫兽

程序员 跳槽 攻略

架构实战营 - 模块1 - 微信架构及学生管理系统毕设架构

雪中亮

架构实战营 #架构实战营

骆驼币挖矿软件开发|骆驼币挖矿APP系统开发

微服务错误码设计实践

循环智能

微服务 gRPC 异常处理 错误码 接口设计

多链星球APP开发|多链星球系统软件开发

写代码是意识流?

卢卡多多

代码规范 意识 7月日更

斗宠大陆APP开发|斗宠大陆软件系统开发

IPFS公司有哪些?IPFS 哪家公司好?

【Flutter 专题】95 图解 Dart 单线程实现异步处理之 Task Queue

阿策小和尚

Flutter 小菜 0 基础学习 Flutter Android 小菜鸟 7月日更

2022前端面试必备题+答案

buchila11

关于深度学习编译器,这些知识你需要了解一下

华为云开发者联盟

深度学习 tensorflow 编译器 算子开发 深度学习编译器

电脑误删文件如何恢复?两个方法解决你的困扰

淋雨

EasyRecovery 文件恢复 硬盘数据恢复

敏捷项目管理会不会代替传统项目管理?

万事ONES

项目管理 ONES 敏捷管理

开发小技巧之:unicode的排序和正则匹配

程序那些事

Unicode 排序 程序那些事

【LeetCode】点菜展示表Java题解

Albert

算法 LeetCode 7月日更

带你用VUE实现上传图片效果

华为云开发者联盟

CSS html Vue js 标签

Google 宣布 Android APK 退位对鸿蒙意味着什么?|【话题讨论】

老猿Python

android 鸿蒙 Google AAB格式

徒步运动系统开发|徒步运动软件APP开发

阿凡达挖矿软件开发|阿凡达挖矿APP系统开发

5分钟带你了解微前端(内含大量代码示例)

LigaAI

大前端 qiankun

BTCs挖矿软件开发|BTCs挖矿系统APP开发

Apache Flink 入门知识超全概括!

云祁

大数据 flink 7月日更

java算法易筋经:常见java-API使用技巧

华为云开发者联盟

Java List 数组 队列 java-API

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