【发布时间】:2022-06-13 18:58:41
【问题描述】:
关于我之前的问题,我想从创建的 sqlite 数据库中检索 ID,以将其作为 Intent putExtra() 中的数据传递,以将其用作 pendingIntent.getActivity() 的 ID。目前,我正在使用 queryNumEntries 为从我的 DatabaseManager.class 中的以下代码添加到数据库中的每个提醒设置 id:
public long reminderCount(){
SQLiteDatabase sqlDB = this.getReadableDatabase();
return DatabaseUtils.queryNumEntries(sqlDB, DatabaseReminder.TABLE_NAME);
}
并在 AddActivity.class 中调用它
String remindId;
long RemID;
int remId;
RemID = databaseManager.reminderCount()+1;
remindId = String.valueOf(RemID);
remId = Integer.parseInt(remindId);
private void sendUpdateAlarm() {
Intent updateIntent = new Intent(getApplicationContext(), UpdateReminderActivity.class);
updateIntent.putExtra("NotifID", remId);
}
private void setAlarm() {
AlarmManager alarmManager = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
Intent intent = new Intent(getApplicationContext(), ReminderReceiver.class);
intent.putExtra("DateTime", dateTimePicked);
intent.putExtra("NotifID", remId);
intent.putExtra("Title", titlePicked);
intent.putExtra("Description", descriptionPicked);
PendingIntent addIntent = PendingIntent.getBroadcast(this, remId, intent, 0);
alarmManager.setExactAndAllowWhileIdle(AlarmManager.RTC_WAKEUP, Date.parse(dateTimePicked), addIntent);
}
除了尝试这个之外,是否还有其他方法可以在创建条目时检索 ID。
更新: 在 DatabaseManager.class 的插入方法中
Intent intent = new Intent(context, AddReminderActivity.class);
intent.putExtra("remindId", reminderID);
添加提醒活动:
RemID = getIntent().getLongExtra("remindId", 0);
// Log.i(TAG, "remID: " + RemID);
// = 0
reminderId = String.valueOf(RemID);
// Log.i(TAG, "reminderId: " + reminderId);
// = 0
remId = Integer.parseInt(reminderId);
// Log.i(TAG, "reminder: " + remId);
// = 0
【问题讨论】:
标签: java sqlite android-studio android-sqlite