- 博客(6)
- 收藏
- 关注
原创 【Jetpack】Room + ViewModel + LiveData 综合使用 ( 核心要点说明 | 组合方式 | 代码示例 )
通过调用 ViewModel 中定义的 数据库操作 方法 , 修改数据库中的数据 , 如果数据库中的数据发生了改变 , 就会自动回调 Observer#onChanged 方法;
2024-01-16 14:56:22
1362
1
原创 如何在Room框架下注册onUpgrade回调及自定义DatabaseErrorHandler
提供的回调接口有时很难满足我们的开发需求,因为它没有将数据库打开过程的完整生命周期事件暴露出来。在 Android 中,Room 为 SQLite 提供了高效稳定的抽象层,简化开发流程。方法来处理数据库损坏的情况,而其处理策略是删除db及其关联的日志文件。是初始化数据库的重要构建组件,通过它我们可以添加。很多时候这并不是我们想要的处理方式,通过代理。,幸运的是这个 callback 被注入到。进行一层代理并开放出想要的生命周期回调。的默认实现方式,这样就实现了自定义。中,并且 Room 允许我们使用。
2023-12-19 11:35:51
209
1
原创 如何使用LiveData实现Room数据库的数据变化监听?
LiveData 的优点是可以始终保持更新后的数据,可以感知生命周期并避免内存泄漏,可以在数据发生变化时只更新受影响的 UI 部分,还可以自动在后台线程上执行查询,避免阻塞主线程。在数据库版本升级的时候,我们可以使用@Database注解中的version参数来指定新版本号,然后重写onUpgrade()和onDowngrade()方法来实现数据库升级,这样我们就可以维护当前版本和历史版本的数据库了。在Room中,我们只需要定义一个接口,使用@Dao注解标记即可,Room会自动生成具体实现。
2023-12-08 17:22:53
802
转载 android-room-with-a-view
https://developer.android.com/codelabs/android-room-with-a-viewhttps://developer.android.com/codelabs/android-room-with-a-view
2023-12-08 15:51:36
85
转载 谈一谈单例模式、静态类和线程内唯一对象有什么区别
谈一谈单例模式、静态类和线程内唯一对象有什么区别 - 懒得勤快的文章 - 知乎 https://zhuanlan.zhihu.com/p/256342873说起单例模式、静态类、线程内唯一对象,想必大家都不陌生,或多或少都用过,然而在什么场景下我们该选用哪种模式?以及它们之间到底有什么根本的区别?今天我们就来详细的研究一下它们之间的联系和区别。这样的问题也是在面试的时候经常会被问到或提起的一个问题。可能这三者,我们最常用的也就是单例模式了,单例模式用在什么场合,为什么不用静态类而用单例?
2023-08-25 18:09:35
122
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人