Android Jetpack 从使用到源码深耕【数据库注解Room 从实践到原理 】(一)

android 开发中,常见的数据存储的方式,有SharePreference、网络、Sqlite、MMKV、文件、 ContentProvider,其中,SharePreference、MMKV从简单的使用入手,到使用上的经验总结,最终我们借助于源码的深入阅读学习,对其原理也进行了深入的总结。但是,大家也发现了,数据库Sqlite有很多成熟的三方封装框架,例如我们最常用的GreenDao,一直想着对其进行一下源码的深入探索、总结,但是由于各种原因,未付诸于实行。

今年计划对Jetpack系列组件,从使用入手、到经验总结、到源码原理解读进行一遍系统总结,其中正好有一个数据库的封装组件Room。本文,我们开始从简单的使用入手,开始源码原理的深入解读,希望大家有所收获。

其实说到Room,在前面Jetpack WorkManager组件的探索时,我们已经涉及到,当时研究WorkManager源码时,我们发现,它将我们提交的任务,使用Room存储到了数据库,这也正是为什么WorkManager可以做到,在APP被杀死、系统重启之后,我们提交的任务依然可以被执行的原因。

1.背景

全篇开始之前,先面对一个问题,为什么要使用Room?

需求:我们这里不妨以一个简单的例子,来说明一下。我们有一个实体User类,实体有三个字段,id、firstname、lastname,我们现在使用sqlite实现user数据的增、删、改、查。

猜你喜欢

转载自blog.csdn.net/baobei0921/article/details/129984675