目录
本文实现的是对单词的模糊搜索。主要是在接口Dao处定义,只有一小段代码,学习过Room数据库的可以直接跳转到那去看。
导入依赖
implementation "androidx.room:room-runtime:2.2.6"
annotationProcessor "androidx.room:room-compiler:2.2.6"
创建一个实体类
@Entity
public class Vocabulary {
@PrimaryKey(autoGenerate = true)
public long id;
@ColumnInfo
public String word;
public Vocabulary() {
}
@Override
public String toString() {
return word;
}
}
定义Dao(实现模糊搜索)
这部分也是Room用法中最关键的地方,因为所有访问数据库的操作都是在这里封装的。访问数据库的操作无非就是增删改查这4种,但是业务需求却是千变万化的。而Dao要做的事情就是覆盖所有的业务需求,使得业务方永远只需要与Dao层进行交互,而不必和底层的数据库打交道。
那么下面我们就来看一下一个Dao具体是如何实现的。新建一个UserDao接口,注意必须使用接口,这点和Retrofit是类似的,然后在接口中编写如下代码:
@Dao
public interface VocabularyDao{
@Query("SELECT * FROM vocabulary")
List<Vocabulary> getAll();
@Query("SELECT * FROM vocabulary WHERE WORD LIKE '%' || :s || '%' ")
List<Vocabulary> searchWords(String s);

本文介绍了如何在Android应用中使用RoomDatabase进行单词的模糊搜索,包括创建实体类、定义带有模糊搜索功能的Dao接口以及如何调用数据库操作。通过`@Dao`注解封装数据库操作,简化了业务逻辑与底层数据库的交互。
最低0.47元/天 解锁文章
3669

被折叠的 条评论
为什么被折叠?



