我终于成功地在数据库中添加了另一列,但现在不知道如何将其取出!这是一个提醒应用程序,信息在这里传递给警报管理器类
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) 时间。
我希望你能帮忙!!