这是我参与「第四届青训营 」笔记创作活动的第2天
1 注解
注解类似于注释但是是注释plus,编译器也会看注解。常见的注解有重写父类方法的@Override,android开发中的room使用中也会遇到很多注解,初学者还是要学习一下。例如@Database,@Entity等。
2.1 room简介
使用room比直接使用SQlite方便很多
最重要的3个组件
- Database:用于保存数据库并作为应用持久性数据底层连接的主要访问点。
- Entity:对应的就是数据库中的表
- DAO:Database Access Object,通过dao来进行对数据库中的数据的各种操作,增删改查等。
2.2 room的简单使用
2.2.1 在gradle中导入
在gradle(module:xxxx)中添加入上代码。
2.2.2 实现Entity类
Student作为一个Entity,分别有三个成员变量,id,name和score,再加上构造方法和getting和setting方法,此类就完成了。
2.2.3 实现Dao类
dao里只需要写具体业务的接口,具体实现交给实现类implement,room自动给我们实现,也是相当的方便,注意注解的使用。
2.2.4 实现Database类
此类是一个抽象类,只有一个方法的声明,实现交给room。统一都用Database返回dao类,目的是解耦。
2.2.5 写mainActivity
为了简单起见,强制数据库在主线程中进行,一般是不允许的。
获取studentDatabase时,加上allowMainQueries()
先简单写个页面
简单设计几个按钮,一个scrollView中套个textView就完成了。
写个显示界面刷新的方法
每次执行完增删改查后刷新textView
例如insert
这里就直接把数据写死了
类似的完成其他操作,那么room的简单使用就完成了