1) Lägg inte till en bokstavlig allfood invända mot en sträng. SQL kan inte tolka ett Java-objekt.
Metoden bör vara något av följande eftersom allfood är hela objektet behöver du det som parameter. Och namnge den som date är helt enkelt förvirrande.
totalFat(Date date)totalFat(String date)totalFat(Calendar date)totalFat(int year, int month, int dayOfMonth)
ska vara
Datum=DATE_20170213
2) Nej, det borde det verkligen inte eftersom Sqlite inte stöder det formatet av datum. Dessutom väntar på DATE_ slösar bara bort lagring i din databas.
3) Använd inte denna
date= year +""+ month +""+ dayOfMonth
Bygg en Calendar objekt och använd SimpleDateFormat för att få en datumformaterad sträng.
genom att använda det sista alternativet ovan, skulle du ha något sånt här
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