0
1日に1度真夜中にデータベースに値を挿入します。しかし、私は私のアプリケーションを再起動すると、別のエントリを挿入します。Android:アプリケーションを再起動するとデータベースエントリが挿入される
public void addDayCheck(String millisIdentifier, String date, int doneState){
SQLiteDatabase db = getWritableDatabase();
ContentValues values = new ContentValues();
values.put(COLUMN_DATE, date);
values.put(COLUMN_DONE_STATE, doneState);
db.insert(millisIdentifier, null, values);
}
:
if (mTaskList != null && mTaskList.size() > 0) {
DatabaseHelper mDbHelper = new DatabaseHelper(context);
Calendar c = Calendar.getInstance();
c.add(Calendar.DATE, -1);
SimpleDateFormat df = new SimpleDateFormat("dd-MM-yyyy");
String date = df.format(c.getTime());
String millisIdentifier;
int doneState;
for (int i = 0; i < mTaskList.size(); i++) {
millisIdentifier = mTaskList.get(i).getMilliIdentifier();
doneState = mTaskList.get(i).getDoneTodayValue();
mDbHelper.addDayCheck(millisIdentifier, date, doneState);
mTaskList.get(i).shiftDayChecks();
mTaskList.get(i).resetTimeLeft();
}
}
これは、実際にエントリを作る方法がある:これは、エントリを作成メソッドを呼び出すonReceive方法、の一部である
:私は私のミスを見つけるカント
正しい時刻にonReceiveメソッドが呼び出されますが、私はそれを確信しています。 だから私はアプリの開始時にそのエントリを作る理由を理解していない。
addDayCheckメソッドは、常に新しいエントリを意味するonReceiveメソッドで呼び出されます。 –
右ですが、全体としてonReceiveメソッドは1日に1回しか呼び出されません。 –
ブロードキャストを起動するコードを貼り付けることはできますか? – iTurki