ようやくデータベースに別の列を追加することに成功しましたが、それを取得する方法がわかりません! これはリマインダー アプリ用で、情報はここでアラーム マネージャー クラスに渡されます
public class ReminderManager {
private Context mContext;
private AlarmManager mAlarmManager;
public ReminderManager(Context context) {
mContext = context;
mAlarmManager = (AlarmManager)context.getSystemService(Context.ALARM_SERVICE);
}
public void setReminder(Long taskId, Calendar when) {
Intent i = new Intent(mContext, OnAlarmReceiver.class);
i.putExtra(RemindersDbAdapter.KEY_ROWID, (long)taskId);
PendingIntent pi = PendingIntent.getBroadcast(mContext, 0, i, PendingIntent.FLAG_ONE_SHOT);
mAlarmManager.set(AlarmManager.RTC_WAKEUP, when.getTimeInMillis(), pi);
}
}
データベースから情報を取得し、ここの編集アクティビティから意図的に送信されます (短縮コード)
private void saveState() {
String title = mTitleText.getText().toString();
String body = mBodyText.getText().toString();
SimpleDateFormat dateTimeFormat = new SimpleDateFormat(DATE_TIME_FORMAT);
String reminderDateTime = dateTimeFormat.format(mCalendar.getTime());
if (mRowId == null) {
long id = mDbHelper.createReminder(title, body, reminderDateTime, spinInterval);
if (id > 0) {
mRowId = id;
}
} else {
mDbHelper.updateReminder(mRowId, title, body, reminderDateTime, spinInterval);
}
new ReminderManager(this).setReminder(mRowId, mCalendar);
}
もちろんアラームを設定する最後の行。スピナーを追加して、ユーザーがアラームを設定する頻度を選択できるようにしました。これを setRepeating に変更し、スピナーから値を追加します。ここのデータベースで彼らが選択した値を持っています
データベース画像 http://www.bthindiet.com/database.jpg
id3 が最後に保存されたアイテムであり、アラームを設定するために ReminderManager クラスに渡された場合、5 時間の spinInterval でその行の値を抽出するにはどうすればよいでしょうか? その文字列を取得したいので、setRepeating の (60 * 60 * 1000 * 5) の時間に変換します。
あなたが助けてくれることを願っています!!