• 最新
  • 热门
  • 所有
  • 外汇
  • 24 小时
  • 期货
  • 基金
  • 贵金属
  • 股票
xiuyuantech 博客 – 谷歌官方 Jetpack 库学习记录

xiuyuantech 博客 – 谷歌官方 Jetpack 库学习记录

2026 年 1 月 23 日

中信证券:2026 年春节白酒实际动销有望维持平稳 看好行业底部配置机会

2026 年 1 月 23 日
美元全球交易份额跃升至新高,主导地位依旧稳固

美元全球交易份额跃升至新高,主导地位依旧稳固

2026 年 1 月 23 日

收评:沪指涨 0.33% 市场成交额重回 3 万亿元 光伏概念股掀起涨停潮

2026 年 1 月 23 日
广告
公募业绩基准新规落地!薪酬与基准达标挂钩 设置一年过渡期

公募业绩基准新规落地!薪酬与基准达标挂钩 设置一年过渡期

2026 年 1 月 23 日

精选 | 夜盘盘前要闻汇总 1 月 23 日 周五

2026 年 1 月 23 日
日本央行突发!日元汇率直线拉升!息口如何演绎?

日本央行突发!日元汇率直线拉升!息口如何演绎?

2026 年 1 月 23 日
我国科学家成功研制「纤维芯片」!可助力脑机接口等领域的变革发展

我国科学家成功研制 「纤维芯片」!可助力脑机接口等领域的变革发展

2026 年 1 月 23 日
自然人余韩控制使用67个账户操纵「博士眼镜」 被证监会罚没超10亿元

自然人余韩控制使用 67 个账户操纵 「博士眼镜」 被证监会罚没超 10 亿元

2026 年 1 月 23 日
金银新高后共振下跌,神秘力量力挽狂澜

特朗普的格陵兰布局:「新瓶装旧酒」,新威胁隐现?金价或录得近六年最大单周涨幅

2026 年 1 月 23 日
三个月涨近1000美元,盘点黄金涨势背后的五大推手!

三个月涨近 1000 美元,盘点黄金涨势背后的五大推手!

2026 年 1 月 23 日

中信证券:建议当前核心围绕先进封装和存储封装环节进行布局

2026 年 1 月 23 日

电网 ETF(561380) 涨超 1.5%,机构解读投资增长与行业趋势

2026 年 1 月 23 日
金桂财经
广告
2026 年 1 月 23 日 星期五
联系我们
合作建议
  • 首页
  • 24 小时
  • 全球金融
  • 股市风云
  • 基金动态
  • 金财眼
  • 期货新闻
  • 期货研报
  • 外汇市场
  • 贵金属
  • 未来科技
  • 登录& 注册
没有结果
查看所有结果
  • 首页
  • 24 小时
  • 全球金融
  • 股市风云
  • 基金动态
  • 金财眼
  • 期货新闻
  • 期货研报
  • 外汇市场
  • 贵金属
  • 未来科技
没有结果
查看所有结果
金桂财经
没有结果
查看所有结果

xiuyuantech 博客 – 谷歌官方 Jetpack 库学习记录

来自 金桂财经
2026 年 1 月 23 日
在 科技
0

xiuyuantech 博客: https://xiuyuantech.github.io/

YOU MAY ALSO LIKE

TechWeb 微晚报:Siri 转型全能聊天机器人,「电子木鱼」 盲盒引爆热搜

铸铁焊接平台: 从" 准」 说到 「铁」| 铸铁焊接平台

Jetpack 包含一系列 Android 库,它们都采用最佳做法并在 Android 应用中提供向后兼容性。
Jetpack 库可以单独使用,也可以组合使用,以满足应用的不同需求。
例如:
WorkManager - 满足您的后台调度需求。
Room - 实现数据存储持久性。
Navigation - 管理应用导航流程。
CameraX - 满足相机应用需求。

实现方式
所有 Jetpack 组件都可在 Google Maven 代码库中找到。 在应用中使用
Jetpack 库:打开 settings.gradle 文件,将 google() 代码库添加到 dependencyResolutionManagement { repositories
{…}} 块中,如下所示:

dependencyResolutionManagement {
repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
repositories {
google()
jcenter()
}
}

如需详细了解如何使用 Jetpack,请查看以下页面:

Android 架构组件
Jetpack 组件的完整列表

从零到一搭建
我的 Demo 采用 MVVM 的设计模式,框架图如下:

Jetpack 组件:

Navigation:一个用于管理 Fragment 切换的工具类,可视化、可绑定控件、支持动画等是其优点。
Data Binding:不用说,都知道,加速 MVVM 的创建。
Lifecycle:虽然我没有写文章介绍,但是不代表它的作用不够强大,他是我们能够处理 Activity 和 Fragment 的生命周期的重要原因,在 AndroidX 的 Fragment 和 Activity 已经对 Lifecycle 提供了默认支持。

ViewModel:当做 MVVM 的 ViewModel 层,并具有声明周期意识的处理和 UI 相关的数据。
LiveData:同 RxJava 的作用一样,对数据进行监听,优点就是无需处理生命周期、无内存泄漏等。
Room:强大的 ORM 数据库框架。
Paging:易于使用的数据分页库,支持 RecyclerView。
WorkManager:灵活、简单、延迟和保证执行的后台任务处理库

使用踩坑

LiveData
优点:对数据进行监听,拥有可观察、生命周期感知、、无内存泄漏等的特点。 缺点:

只能在主线程中订阅和移除观察者
数据丢失问题, 在数据生产速度 > 数据消费速度时,LiveData 无法观察者能够接收到全部数据。比如在子线程大量 postValue 数据但主线程消费跟不上时,中间就会有一部分数据被忽略。
在 Fragment 中出现 LiveData 同样数据多次回调的问题, 针对这个问题,Google 一位大神在 Stack Overflow 实现了一个复写类 SingleLiveEvent.
observeForever 和 removeObserver 方法要配套使用, 否则会导致内存泄漏问题
LiveData 天生就是粘性的, 当我们重复订阅的时候, 会返回最后一次结果. UnPeek-LiveData 开源库可以解决这个问题。 LiveData 的替代者: RxJava: RxJava
是第三方组织 ReactiveX 开发的组件,Rx 是一个包括 Java、Go 等语言在内的多语言数据流框架。功能强大是它的优势,支持大量丰富的操作符,也支持线程切换和背压。然而 Rx
的学习门槛过高,对开发反而是一种新的负担,也会带来误用的风险。 Kotlin Flow: Kotlin Flow 是基于 Kotlin 协程基础能力搭建的一套数据流框架,从功能复杂性上看是介于
LiveData 和 RxJava 之间的解决方案。Kotlin Flow 拥有比 LiveData 更丰富的能力,但裁剪了 RxJava 大量复杂的操作符,做得更加精简。并且在 Kotlin
协程的加持下,Kotlin Flow 目前是 Google 主推的数据流框架。

Room
数据库加密不友好,推荐使用 saferoom 开源库适配
数据库版本升级迁移不友好,仅支持增删列字段,增删索引必须删除表重新创建; 新增字段必须添加默认值, 建议项目创建时就添加默认值, 索引一个字段单独使用普通索引, 不建议使用联合索引即 Index(字段 1, 字段 2);

Paging
仅适合加载查看数据的场景,不适合增删改的场景且无增删改方法。一旦增删改之后,Paging 分页逻辑将失去作用。
界面不可见后一段时间切回来时会重新加载数据。 解决方法: 1) 对 PagingFlow 添加 cacheIn(viewModelScope)。 2) 不使用 CoroutineLiveData,直接用
lifecycleScope.launchWhenCreated 和 flow 来接收 PagingData 数据。

WorkManager
适配 android12,版本必须在 2.7.1 之上
定时任务不一定准时执行,但一定会执行

总结
1.Android Jetpack 组件中的很多库都对其他库提供了支持,比如 Room 和 Paging 就对 LiveData 提供了支持。
2. 向后兼容:基本上每个组件都对低版本提供了支持。支持 RxJava:由于 RxJava 强大的生态环境,几乎和数据相关的组件都对 RxJava 提供了支持。
3. 减少代码量:以 Data Binding + ViewModel + LiveData 或 RxJava 构建的 MVVM 模式能够显著减少代码量,比较平时使用的 MVP 模式也会更加方便,无需主动更新 UI。
4. 无需捆绑:Android Jetpack 系列组件可以无需捆绑使用,你如果只想用里面的单个库,那么就可以仅仅依赖一个库。

业务咨询:https://soloist.pages.dev

文章来源:w2solo

Search

没有结果
查看所有结果

一周热门

中信证券:2026 年春节白酒实际动销有望维持平稳 看好行业底部配置机会

2026 年 1 月 23 日
美元全球交易份额跃升至新高,主导地位依旧稳固

美元全球交易份额跃升至新高,主导地位依旧稳固

2026 年 1 月 23 日

收评:沪指涨 0.33% 市场成交额重回 3 万亿元 光伏概念股掀起涨停潮

2026 年 1 月 23 日
公募业绩基准新规落地!薪酬与基准达标挂钩 设置一年过渡期

公募业绩基准新规落地!薪酬与基准达标挂钩 设置一年过渡期

2026 年 1 月 23 日

精选 | 夜盘盘前要闻汇总 1 月 23 日 周五

2026 年 1 月 23 日
日本央行突发!日元汇率直线拉升!息口如何演绎?

日本央行突发!日元汇率直线拉升!息口如何演绎?

2026 年 1 月 23 日
我国科学家成功研制「纤维芯片」!可助力脑机接口等领域的变革发展

我国科学家成功研制 「纤维芯片」!可助力脑机接口等领域的变革发展

2026 年 1 月 23 日
自然人余韩控制使用67个账户操纵「博士眼镜」 被证监会罚没超10亿元

自然人余韩控制使用 67 个账户操纵 「博士眼镜」 被证监会罚没超 10 亿元

2026 年 1 月 23 日
金银新高后共振下跌,神秘力量力挽狂澜

特朗普的格陵兰布局:「新瓶装旧酒」,新威胁隐现?金价或录得近六年最大单周涨幅

2026 年 1 月 23 日
三个月涨近1000美元,盘点黄金涨势背后的五大推手!

三个月涨近 1000 美元,盘点黄金涨势背后的五大推手!

2026 年 1 月 23 日
金桂财经

2026 年 1 月
一 二 三 四 五 六 日
 1234
567891011
12131415161718
19202122232425
262728293031  
« 12 月    

近期动态

  • 中信证券:2026 年春节白酒实际动销有望维持平稳 看好行业底部配置机会
  • 美元全球交易份额跃升至新高,主导地位依旧稳固
  • 收评:沪指涨 0.33% 市场成交额重回 3 万亿元 光伏概念股掀起涨停潮
  • 公募业绩基准新规落地!薪酬与基准达标挂钩 设置一年过渡期
  • 精选 | 夜盘盘前要闻汇总 1 月 23 日 周五
  • 日本央行突发!日元汇率直线拉升!息口如何演绎?
广告

Copyright © 2025 广州金桂广告传媒有限公司. 粤 ICP 备 2025390655 号

  • 关于本站
  • 联系我们
  • 隐私政策
没有结果
查看所有结果
  • 登录& 注册

Copyright © 2025 广州金桂广告传媒有限公司. 粤 ICP 备 2025390655 号

  • 登录
  • 注册
忘记密码?
Lost your password? Please enter your username or email address. You will receive a link to create a new password via email.
body::-webkit-scrollbar { width: 7px; } body::-webkit-scrollbar-track { border-radius: 10px; background: #f0f0f0; } body::-webkit-scrollbar-thumb { border-radius: 50px; background: #dfdbdb }