2016-06-26 13 views
2

Kann jemand eine einfache select * from table in greenDAO tun und es in eine Einheit einfügen? Ich habe einige Nachforschungen angestellt und kann kein einfaches Beispiel nennen. Das ist, was ich bisher habe:Wie wählt man alle mit GreenDAO?

public void storeAppTimeUsageData(AppTimeUsage stats) { 
    List<AppTimeUsage> items = new ArrayList<>(); 
    //appTimeUsageDao = DeviceInsightApp.getSession(this, true).getAppTimeUsageDao(); 
    try { 
     // master 
     appTimeUsageDao.insertOrReplace(stats); 
    //} catch (IOException e) { 
    } catch (Exception e) { 
     Log.e("Error", "Some exception occurred", e); 
     Log.e("APP_TAG", "STACKTRACE"); 
     Log.e("APP_TAG", Log.getStackTraceString(e)); 
    } 
    String sql = "SELECT * FROM APP_TIME_USAGE "; 
    Cursor c = appTimeUsageDao.getDatabase().rawQuery(sql, null); 
    int offset = 0; 
    int d ; 
    int cd ; 
    String e = ""; 
    while (c.moveToNext()) { 
     AppTimeUsage atu AppTimeUsage(
      c.getLong(0); 
      //long b = c.getInt(0); 
      d = c.getInt(2); 
      e = c.getString(3); 
      break; 
     ); 
     items.add(atu); 
    } 
} 

Antwort

4

GreenDAO kommt bereits mit einer eingebauten Methode, um diese Aufgabe zu erfüllen. In Ihrem Fall:

List<AppTimeUsage> items = appTimeUsageDao.loadAll(); 

Damit werden alle Datensätze aus APP_TIME_USAGE auswählen und eine List<AppTimeUsage> mit den Einheiten zurück.