数据持久化:指将那些内存中的瞬时数据保存到存储设备当中,保证即使在手机关机的情况下,数据仍然不会丢失。持久化技术提供了一种机制可以让数据在瞬时状态和持久状态之间进行转换
实现方式:
①文件存储、②SharedPreferences存储、③数据库存储、④内容提供器存储、⑤网络存储
源生的 SQLite 外,也有其他三方框架技术,如: GreenDao、Room、Realm、ORMLite、DBFlow、LitePal 等
SQLite 是一款轻量级的开源嵌入式关系数据库, 它的减少应用程序管理数据的开销,SQLite可移植性好,很容易使用,体积小,高效而且可靠。
优势/点:
- 继承SQLiteOpenHelper抽象类
- 实现具体的方法:构造方法、onCreate()、onUpgrade()
- getWritableDatabase方法返回SQLiteDatabase对象
- 使用SQLiteDatabase对象,对数据库进行增、删、改、查操作:insert()、delete()、update()、query()。
- 「 Corsor :通过对数据库查询结果集进行随机的访问,查询结果返回点 Corsor 游标」
事务使用步骤
- 1 . 调用 beginTransaction()方法 开启事务「 英 [trænˈzækʃn] 」
- 2 .写有关数据库的操作
- 3 . 当所有操作都成功执行后,使用 setTransactionSuccessful()方法 表示事务执行成功「 英 [səkˈsesfl]」
- 4 . 在 endTransaction 结束事务
greendao
- 配置导包
- 编写实体类 添加 注解:
- @Entity 声明当前实体类为greendao实体类,相当于数据库中的表 @Id(autoincrement = true) 设置主键,自增长Id @NotNull 声明该字段在数据库不能为空 NOT NULL
- 编写CRUD工具类
先编写DaoManager,封装数据库的创建、表创建、增删改查,以及数据库的升级等
build project之后,会在目标文件夹,生成DaoMaster、DaoSession、XxxDao中间代码。
DaoMaster保存数据库对象,代表着一个数据库的连接,内部有SQLiteOpenHelper实现
DaoSession 为实体提供了一些通用的持久性方法,如CURD
[表名Dao]数据库表的访问对象,拥有基本的CURD及统计类等高级方法
5. 调用封装的CRUD方法
编写操作封装类XxxDaoHelper,用于完成具体的CRUD、count、条件查询操作、原始sql语句查询等
Original: https://blog.csdn.net/reforgetYZ/article/details/127510898
Author: 遇见最好的你
Title: 数据持久化
原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/817155/
转载文章受原作者版权保护。转载请注明原作者出处!