安卓开发-Room使用
2022-07-06 本文已影响0人
itBox
今天在修改 Android TV 的Leanback中,view的展示顺序时,发现改为 tabData之后,安装重启 Launcher 数据没有变化。
应该是自己对 Room 的操作原理不清楚导致。
排查方式,通过 App Inspection 查看设备上的 对应数据是否真的修改了。
通过学习Room的原理,梳理项目代码,去找原因。
问题,找到对应代码修改完成之后,重新安装未生效
通过 Ctrl+Shift+F 查找中文关键词,定位。
当天尝试几次后,仍然没解决,第二天早上来,通过程序,清楚缓存数据之后就生效了。
Room是什么
Room 是一个持久性库,属于 Android Jetpack 的一部分。Room 是 SQLite 数据库之上的一个抽象层。Room 并不直接使用 SQLite,而是负责简化数据库设置和配置以及与数据库交互方面的琐碎工作。此外,Room 还提供 SQLite 语句的编译时检查。
Room总体架构Room使用场景
应用可能会存储歌曲播放列表、待办事项列表中的待办事项、支出和收入记录、星座目录或个人数据的历史记录。
Room 包含三个主要组件:
- 数据实体表示应用的数据库中的表。数据实体用于更新表中的行所存储的数据以及创建新行供插入。
- 数据访问对象 (DAO) 提供应用在数据库中检索、更新、插入和删除数据所用的方法。
- 数据库类持有数据库,并且是应用数据库底层连接的主要访问点。数据库类为应用提供与该数据库关联的 DAO 的实例。
欲速则不达。无欲速,无见小利;欲速则不达,见小利则大事不成。