| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 移动开发 -> Android Jetpack:Room与Database Inspector使用教程 -> 正文阅读 |
|
[移动开发]Android Jetpack:Room与Database Inspector使用教程 |
本文章涉及到SQLite语法,对SQLite语法不了解的朋友可以先学习一下它的基本使用再来阅读本文章。 介绍Room是Android Jetpack中用于操作数据库的库,本篇文章将讲解Room的使用方法,并简单介绍如何使用Database Inspector调试(Android Studio 4.1+)。 基本使用方法使用Room,我们要完成三个工作,定义实体类,定义DAO,定义数据库。 首先把Room的相关库导进来,前面两项是必要的,后面的optional是可选项,它们是Room对其他三方库的拓展。
接着来定义数据实体User。 @Entity是Room的一个注解,标记在实体类上才能在编译的时候识别。 @PrimaryKey即主键。autoGenerate = true时,每次插入主键都会自动加1,默认为false。 @ColumnInfo表示它在数据库里面的名字(如user_name),这个标记不是必须的。
如果希望成员变量不出现在数据库表里,可以使用@Ignore。
下面来定义DAO(Data Access Objects 数据存取对象)。 @Insert是插入标记。 @Delete是删除标记。 @Query是查询标记,也可以用于更新。方法里的参数对应于注解里的SQL参数(前面加一个冒号)
接着定义Database。entities 中包含所有实体类,version是版本号。注意定义的数据库类必须是抽象类。
至此,定义实体类,定义DAO,定义数据库三个工作就完成了,rebuild一下工程就能自动生成相关代码。 Android Studio可能会提示警告信息。
在Gradle中添加如下内容,rebuild即可。
通过以下方式就能获取到UserDatabase。需要注意的是,Activity或Fragment不应该持有UserDatabase对象引用,因为UserDatabase的存活时间要比Activity和Fragment长,持有UserDatabase引用可能导致内存泄漏。我们可以把UserDatabase的创建放在Application的onCreate方法上。
最后就可以进行数据库表的增删改查了。
注意,增删改查不能在主线程上进行,否则会抛出异常。其实这也很合理,因为数据库操作本就是耗时的。当然也可以在Database创建的时候允许在主线程操作。
Database Inspector调试完成了代码的编写,接下来就是调试了。Android Studio 4.1提供了一个调试数据库的工具,叫Database Inspector。 最后本篇文章讲解了Room的基本使用方法以及Database Inspector的调试步骤。 参考文章《Schema export directory is not provided to the annotation processor so we cannot export the schema.》 |
|
移动开发 最新文章 |
Vue3装载axios和element-ui |
android adb cmd |
【xcode】Xcode常用快捷键与技巧 |
Android开发中的线程池使用 |
Java 和 Android 的 Base64 |
Android 测试文字编码格式 |
微信小程序支付 |
安卓权限记录 |
知乎之自动养号 |
【Android Jetpack】DataStore |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/24 13:51:03- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |