jetpack
文章平均质量分 90
jetpack相关
Obito~
这个作者很懒,什么都没留下…
展开
-
Flow详解
比如说: 当设置 replay =2 的时候当发送1 的时候, replay存储1,当发送2 的时候,存储1,2 当发送3,的时候存储,23,当发送4,的时候,存储34,当发送5的时候,存储45比如说上面的代码 中第二个监听他由于延迟了1s 才设置监听 ,如果把缓存 replay 改为2,那么当第二个监听者在设置监听的时候 就可以收到 最后两条数据4,5 数据,但是 1,2 ,3,依旧是收不到的。原创 2024-05-08 15:21:31 · 858 阅读 · 0 评论 -
Room的使用
Room 是对Sqlite 的二次封装,利用APT注解处理器技术自动生成代码,方法我们更能流畅易用的访问数据库**Room的使用配置在项目build.gradlew。原创 2024-03-09 18:53:18 · 341 阅读 · 0 评论 -
ViewModel
*我们这里说的ViewModel 是说的是jetpack提供的一个组件库,他跟,mvvm里说的VM层是两个不同的概率,不要混淆。ViewModel的作用就是为了数据的稳定性。**原创 2023-08-20 21:53:54 · 29 阅读 · 0 评论 -
ViewBinding与kotlin的绑定机制
*原创 2023-08-20 18:47:00 · 38 阅读 · 0 评论 -
Databinding
*Databinding 是一个能够实现双向绑定的google自带的工具库,也就是他能够让V界面与M数据bean进行绑定在一起,正是因为界面绑定着数据,所以当数据发生改变的时候,界面也会跟谁改变,而界面改变的时候,数据也会发生改变,这就是双向绑定,想要使用他很简单,就是再 build.gradle 下加上android{dataBinding.enabled = true 代表开启即可使用**原创 2023-08-20 17:35:56 · 8 阅读 · 0 评论 -
Livedata
前面说的都是livedata 调用obsever方法设置了一个被观察者,比如MainActivity,然后需要跟着MainActivity的生命周期可不可见决定 设置的观察者们数据改变的时候是否能被调用监听到,livedata同样也提供了一个api方法,能够不设置这个被观察者,也就是,livedata他的数据在改变,在任何时候监听者们都能够知道监听到,不在依赖任何人的生命周期,就是调用 observeForever方法。与常规的可观察类不同,LiveData 具有生命周期感知能力,意。原创 2023-08-19 10:41:50 · 13 阅读 · 0 评论 -
lifecycle
还有一个类 DefaultLifecycleObserver ,他是对 LifecycleObserver 的二次封装,方便我们使用而已,像上面的 LifecycleObserver 写法上比较麻烦, DefaultLifecycleObserver 就比较简单些,他直接重写对应的方法即可,不需要再去写注解订阅哪个event。lifecycle 其实采用观察者设计模式,观察着 被观察者的的生命周期,当被观察者的生命周期被调用的时候, lifecycle 会帮我们。调用观察者的对应方法。原创 2023-08-17 18:02:21 · 10 阅读 · 0 评论 -
Hilt详解
Hilt是对Dagger2的二次封装,比Dagger2更好用以及导入依赖如果是kotlin还得导入配置**原创 2023-08-17 11:32:49 · 37 阅读 · 0 评论 -
Dagger2
Dagger2是一个框架库,他通过APT技术,在编译的时候帮我们自动生成代码,而不用我们自己去写。他最常见的用法,是可以让我们在一个类中, 直接通过注解,在编译的时候,自动帮我们new 出一个对象,所以我们只需要这么写,他在运行的时候就不是空的。使用 Dagger2 需要先引入第三方。引入之后,想要实现上方直接通过注解创建对象,还需要几个步骤。首先要知道 Dagger2 是一个依赖注入框架,也就是一个类依赖Dagger2 这个框架帮它这个类注入一个对象,所以不需要人为去new。原创 2023-08-06 13:00:49 · 9 阅读 · 0 评论