1) Nepřidávejte doslovné allfood objekt na řetězec. SQL nedokáže interpretovat objekt Java.
Metoda by měla být některá z následujících, protože allfood je celý objekt, potřebujete jej jako parametr. A pojmenovat jej jako date je prostě matoucí.
totalFat(Date date)totalFat(String date)totalFat(Calendar date)totalFat(int year, int month, int dayOfMonth)
by mělo být
Date=DATE_20170213
2) Ne, opravdu by nemělo, protože Sqlite nepodporuje tento formát dat. Navíc čekající DATE_ jen plýtvá úložištěm ve vaší databázi.
3) Nepoužívejte toto
date= year +""+ month +""+ dayOfMonth
Vytvořte Calendar objekt a použijte SimpleDateFormat správně získat řetězec ve formátu data.
pomocí poslední možnosti výše byste měli něco takového
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