В базе данных 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, а затем возвращается окончательный результат. Как это можно сделать в базе данных комнат