Jetpack
文章平均质量分 94
Google Jetpack 组件库
tmacfrank
这个作者很懒,什么都没留下…
展开
-
Navigation 基本原理
Navigation 组件旨在用于具有一个主 Activity 和多个 Fragment 目的地的应用。主 Activity 与导航图相关联,且包含一个负责根据需要交换目的地的。在具有多个 Activity 目的地的应用中,每个 Activity 均拥有其自己的导航图。原创 2023-11-12 19:38:16 · 252 阅读 · 0 评论 -
ViewModel 基本原理
Activity 配置发生改变,如屏幕旋转时,会销毁原本的 Activity 再创建一个新的实例,会走一次 Activity 的生命周期。传统的应对方式是在 Activity 的 onCreate()/onSaveInstanceState() 中通过获取/保存 savedInstanceState 参数实现状态保存。但是在使用 ViewModel 后,就无须我们手动处理了。那么如何使用 ViewModel 来保存非配置数据呢?原创 2023-11-05 14:53:07 · 179 阅读 · 0 评论 -
DataBinding 基本原理
/</</更多使用方法与案例可参考官方文档。原创 2023-11-04 23:24:52 · 257 阅读 · 0 评论 -
LiveData 原理与 LiveData 总线
LiveData 是一种具有生命周期感知能力的可观察数据持有类,可以保证屏幕上的显示内容和数据一直保持同步。原创 2023-10-31 23:30:45 · 157 阅读 · 0 评论 -
生命周期感知组件 Lifecycle
Android 系统中的 LifecycleOwner 除了 Activity、Fragment 还有一个 ProcessLifecycleOwner(在 lifecycle-process 依赖中),它会在应用级别监听 Activity 生命周期。原创 2023-10-31 23:26:59 · 135 阅读 · 0 评论 -
Hilt 使用方法与隔离层实现
Hilt 解决了一部分 Dagger2 不好用的问题,当有多个 Component 向类中注入对象时,Dagger2 并不好用。Hilt 在 Dagger2 的基础上做出了一些改进,使得在向 Application、Activity、Fragment、View、Service 和 BroadcastReceiver 这些类中注入对象时,仅仅通过简单的注解就可以完成对象注入(不用再写这些类的 Component 了)。原创 2023-10-30 22:25:26 · 136 阅读 · 0 评论 -
Dagger2 的使用与基本原理
使用 Dagger2 的最佳做法:如果有可能,通过@Inject进行构造函数注入,以向 Dagger 图中添加类型。使用@Binds告知 Dagger 接口应采用哪种实现使用@Provides告知 Dagger 如何提供你的项目所不具备的类只能在组件中声明一次模块根据注释的使用生命周期,为作用域注释命名,例如和依赖注入。原创 2023-10-30 16:38:18 · 1186 阅读 · 0 评论