减少本地数据库中的数据库请求

时间:2017-09-15 08:30:15

标签: android regex database realm data-modeling

我在android中有一个列表视图,我必须每次都检查是否显示List项目 减少请求我所做的就是将id保存在单行中,如

  

1,2,10,

一切正常,搜索我只需要使用

 String[] favs = fav.split(",");
    for (int index = 0; index <(favs.length); index++) {
        if(favs[index]==""){}else {
            wishlist.add(Integer.parseInt(favs[index].trim()));
        }

  if(clicklist.contains((int)temp.getId())) //like this

删除来自db,这个

temp2.replaceAll(""+m1.getId()+",", "") // and save in the db

现在问题是我还有两个与id相关联的数据字段,如

  

10 | DATA1 | data2,100 |苹果|狗,150 | DATA12 | data24

  1. 问题1 这个小数据库的数据模型确定
  2. 问题2 如何在新数据集中执行搜索和删除?
  3. 请帮忙!

1 个答案:

答案 0 :(得分:1)

在这里使用数据库是一个合适的选择,我建议你看看最近发布的Room,这是一个由Google开发人员制作的Android组件,可以更轻松地支持数据持久性。

你当然应该知道sql语言的基础。

在您的情况下,您应该使用@Entity注释注释您的数据类:

@Entity
public class DataModel {
@PrimaryKey
private int uid;

@ColumnInfo(name = "animal")
private String animal;

@ColumnInfo(name = "fruit")
private String fruit;

// Getters and setters are ignored for brevity,
// but they're required for Room to work.
}

然后,要回答有关CRUD操作的问题,请定义一个Dao:

@Dao
public interface UserDao {

@Query("SELECT * FROM DataModel")
List<DataModel> getAll();

@Insert
void insertAll(DataModel... dataModels);

@Delete
void delete(DataModel dataModel);
}