1)リテラルのallfood
を追加しないでください 文字列へのオブジェクト。 SQLはJavaオブジェクトを解釈できません。
allfood
であるため、メソッドは次のいずれかになります。 オブジェクト全体です。パラメータとして必要です。そしてそれをdate
と名付けます 単に紛らわしいです。
-
totalFat(Date date)
-
totalFat(String date)
-
totalFat(Calendar date)
-
totalFat(int year, int month, int dayOfMonth)
である必要があります
Date =DATE_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