【发布时间】:2020-09-17 23:24:47
【问题描述】:
在Room 数据库中,我们将查询编写为DAO 以从数据库中获取结果。在普通的 SQLite OpenHelper 类中,我们可以根据需要自定义查询结果。
public ArrayList<MyData> getMyData(String id) {
ArrayList<MyData> entries=new ArrayList<>();
SQLiteDatabase db = this.getWritableDatabase();
String query = "SELECT * FROM " + MYDATA + " WHERE " + ID + " = ?";
Cursor c1 = db.rawQuery(query, new String[]{id});
List<String> business=new ArrayList<>();
if(c2.moveToFirst()){
MyData entry=new MyData();
entry.setId(c2.getString(0));
String dataValue=c2.getString(1);
String val="";
if(dataValue.contains("__")){
String[] valueSplit =dataValue.split("__");
if(valueSplit[0]!=null){
val=address[0];
}
}else{
val="";
}
entries.add(entry);
}
return entries;
}
在这个查询中,从数据库中获取的结果是根据一些条件自定义的,添加到 ArrayList MyData 对象中,然后返回最终结果。如何在房间数据库中完成
【问题讨论】:
标签: android sqlite android-room sqliteopenhelper