0
我每天午夜在我的數據庫中插入一個值。但是,當我重新啓動我的應用程序時,它會插入另一個條目。我找不到我的錯誤:Android:重新啓動我的應用程序插入數據庫條目
這是的onReceive方法,它調用,使進入該方法的一部分:
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();
}
}
這是實際上使進入方法:
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);
}
onreceive方法在正確的時間被調用,我相信這一點。 所以我不明白爲什麼它使應用程序的開始條目。
addDayCheck方法總是在onReceive方法中調用,這意味着一個新條目。 –
沒錯,但是onReceive方法作爲一個整體每天只能調用一次。 –
你能粘貼激發廣播的代碼嗎? – iTurki