1) Fügen Sie kein wörtliches allfood hinzu Objekt zu einem String. SQL kann ein Java-Objekt nicht interpretieren.
Die Methode sollte eine der folgenden sein, weil allfood das ganze Objekt ist, brauchen Sie es als Parameter. Und es als date benennen ist einfach verwirrend.
totalFat(Date date)totalFat(String date)totalFat(Calendar date)totalFat(int year, int month, int dayOfMonth)
sollte
Date=DATE_20170213
2) Nein, das sollte es wirklich nicht, da Sqlite dieses Datumsformat nicht unterstützt. Zusätzlich vorangestelltes DATE_ verschwendet nur Speicherplatz in Ihrer Datenbank.
3) Bitte verwenden Sie dieses
nichtdate= year +""+ month +""+ dayOfMonth
Erstellen Sie einen Calendar -Objekt und verwenden Sie SimpleDateFormat um eine Zeichenfolge im Datumsformat korrekt zu erhalten.
Wenn Sie die letzte Option oben verwenden, erhalten Sie so etwas
SimpleDateFormat fmt = new SimpleDateFormat("yyyy-MM-dd");
Calendar calendar = Calendar.getInstance();
calendar.set(year, month, dayOfMonth);
String queryForDate = fmt.format(calendar.getTime());
// db.query(TABLE_NAME, null, new String[] {... // TODO: Complete this