在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对象中,然后返回最终结果。如何在会议室数据库中完成]
如果我正确理解了您的问题,您可以像这样在您的DAO中使用@query
@Query("SELECT * FROM MYDATA WHERE id = :id")
public ArrayList<MyData> getMyData(String id);
然后在数据库视图模型中公开getMyData(String id)
并处理您的数据