2天时间,聊今年最热的 Agent、上下文工程、AI 产品创新等话题。2025 年最后一场~ 了解详情
写点什么

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

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

关注

评论

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

软件测试学习笔记丨SQL操作命令(库操作、表操作、表数据操作)

测试人

软件测试

如何通过ETL实现快速同步美团订单信息

谷云科技RestCloud

美团 数据同步 ETL 数据集成 订单同步

INFINI Labs 产品更新 | Easysearch 1.7.1发布

极限实验室

console Gateway easysearch

实现一个简单的哈希映射功能

JYeontu

JavaScript 前端 哈希表 算法、

「外部参数」功能已上线,爷们儿速来体验!!

都广科技

DevOps

装配制造业的MES系统中的物料齐套技术

万界星空科技

制造业 生产管理系统 mes 万界星空科技 装配行业

使用 Footprint Analytics 提升 Web3 项目的空投活动

Footprint Analytics

blockchain

漫画算法——二叉查找树的删除

梦倚栏杆

二叉树 删除 查找算法

NFTScan | 02.26~03.03 NFT 市场热点汇总

NFT Research

NFT NFTScan nft工具

关于AI智能生成(AIGC),整理一下你该知道这些

Geek_ee6d52

人工智能 AIGC

低代码与MES的结合--万界星空科技低代码平台

万界星空科技

低代码 低代码平台 mes 制造业生产管理系统 万界星空科技

【技术探讨】如何选择一款距离远的无线通信模块?

Geek_ab1536

千分位分隔?一个vue指令搞定

JYeontu

Vue 前端 vue指令 vue组件

企业财务规划的未来:自动化智能化如何推动全面预算管理

智达方通

自动化 智能化 全面预算管理 财务管理 财务自动化

如何做代币分析:以 INJ 币为例

Footprint Analytics

blockchain Token

一键生成个性化二维码:打造你的专属数字名片

JYeontu

JavaScript 前端 npm 插件 Node

参与DevData调研,共建国内首份研发效能基准线,免费获得“体检报告”!

思码逸研发效能

火山引擎ByteHouse:如何用OLAP为抖音精准推荐提效

极客天地

函数防抖?一个vue指令搞定

JYeontu

Vue 前端 vue指令 Vue组件库

淘宝京东1688...等电商平台商品详情数据,淘宝京东1688商品详情 API 返回值说明

Anzexi58

API 文档

想做大模型开发前,先来了解一下MoE

华为云开发者联盟

人工智能 华为云 大模型 华为云开发者联盟

MySQL学习笔记

秃头小帅oi

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