1) Не добавяйте буквално allfood обект на низ. SQL не може да интерпретира Java обект.
Методът трябва да бъде някой от следните, тъй като allfood е целият обект, имате нужда от него като параметър. И го именувайте като date просто е объркващо.
totalFat(Date date)totalFat(String date)totalFat(Calendar date)totalFat(int year, int month, int dayOfMonth)
трябва да е
Дата=ДАТА_20170213
2) Не, наистина не трябва, защото Sqlite не поддържа този формат на дати. Освен това, предстои DATE_ просто губи място за съхранение във вашата база данни.
3) Моля, не използвайте това
date= year +""+ month +""+ dayOfMonth
Създайте Calendar обект и използвайте SimpleDateFormat за да получите правилно форматиран низ за дата.
като използвате последната опция по-горе, ще имате нещо подобно
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