AICon 上海站|日程100%上线,解锁Al未来! 了解详情
写点什么

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

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

关注

评论

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

前端工程师leetcode算法面试必备-二叉树的构造和遍历

js2030code

算法 LeetCode

那些你不知道的 CSS 自定义形状网格布局 3

南城FE

CSS 前端 布局

React组件之间的通信方式总结(上)

beifeng1996

React

从React源码分析看useEffect

flyzz177

React

0停机迁移Nacos?Java字节码技术来帮忙

华为云开发者联盟

Java 云计算 华为云 12 月 PK 榜

前端必会react面试题及答案

beifeng1996

React

假如问:你是怎样优化Vue项目的,该怎么回答

bb_xiaxia1998

Vue

设计模式之美——单一职责(Single Responsibility Principle)

GalaxyCreater

设计模式

React源码分析7-state计算流程和优先级

flyzz177

React

react源码中的hooks

flyzz177

React

【圣诞节】会呼吸的玫瑰爱心代码 -李峋爱心续 动画演示思路 代码开源

非喵鱼

Java Python 程序员 前端 爱心代码

异构混排在vivo互联网的技术实践

vivo互联网技术

算法 异构 混排

什么是CodeArts

华为云开发者联盟

云计算 后端 华为云 12 月 PK 榜 软件开发生产线

react源码中的协调与调度

flyzz177

React

用javascript分类刷leetcode3.动态规划(图文视频讲解)

js2030code

JavaScript LeetCode

谈谈前端性能优化-面试版

loveX001

JavaScript

前端面试什么样的回答才能让面试官满意

loveX001

JavaScript

CartoonGAN论文复现:如何将图像动漫化

华为云开发者联盟

人工智能 华为云 12 月 PK 榜

记一次Mysql大数据分页优化问题

石臻臻的杂货铺

MySQL 数据库

架构实战营模块二作业

张Dave

react面试题合集

beifeng1996

React

运维进阶训练营 -W07H

b1a2e1u1u

运维

react源码中的fiber架构

flyzz177

React

前端二面常考面试题(必备)

loveX001

JavaScript

经常会采坑的javascript原型应试题

loveX001

JavaScript

软件质量问题造成损失高达 2.4 万亿美元!

SEAL安全

软件质量 漏洞管理 12 月 PK 榜 软件供应安全

React源码分析8-状态更新的优先级机制

flyzz177

React

前端工程师leetcode算法面试必备-二叉树深度广度遍历

js2030code

JavaScript LeetCode

OpenTelemetry系列 (二)|初探OpenTelemetry

骑牛上青山

Java 调用链 OpenTelemetry 微服务调用链

React组件之间的通信方式总结(下)

beifeng1996

React

es6中箭头函数解析

达摩

ES6 箭头函数

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