0
我想创建Reminder.I使用下面的代码在用户设置的特定时间和日期生成通知。如何从数据库检索日期和时间并在该特定日期创建通知
public class MainActivity extends Activity {
TimePicker timePicker;
DatePicker datePicker;
Button button1;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
button1 = (Button) findViewById(R.id.button1);
button1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View arg0) {
timePicker = (TimePicker) findViewById(R.id.timePicker1);
datePicker = (DatePicker) findViewById(R.id.datePicker1);
AlarmManager alarmManager = (AlarmManager) getSystemService(ALARM_SERVICE);
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.YEAR, datePicker.getYear());
calendar.set(Calendar.MONTH, datePicker.getMonth());
calendar.set(Calendar.DAY_OF_MONTH, datePicker.getDayOfMonth());
calendar.set(Calendar.HOUR_OF_DAY, timePicker.getCurrentHour());
calendar.set(Calendar.MINUTE, timePicker.getCurrentMinute());
calendar.set(Calendar.SECOND, 0);
Intent inn = new Intent(MainActivity.this,AlaramDetail.class);
PendingIntent displayIntent = PendingIntent.getActivity(
getBaseContext(), 0,inn, 0);
alarmManager.set(AlarmManager.RTC_WAKEUP,
calendar.getTimeInMillis(), displayIntent);
}
});
}
}
以下是AlaramDetail类,其中包含用于生成通知的代码。
public class AlaramDetail extends Activity {
@SuppressWarnings("deprecation")
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.detail);
NotificationManager nm = (NotificationManager)getSystemService(Context.NOTIFICATION_SERVICE);
Notification notification = new Notification(android.R.drawable.stat_notify_more, "This is important notification",System.currentTimeMillis());
String title = "pay attention";
String detail = "this is implortant";
Intent intent = new Intent(AlaramDetail.this,AlaramDetail.class);
finish();
PendingIntent pintent = PendingIntent.getActivity(AlaramDetail.this, 0,intent ,0);
notification.setLatestEventInfo(AlaramDetail.this, title, detail, pintent);
notification.flags=Notification.FLAG_AUTO_CANCEL;
notification.defaults|=Notification.DEFAULT_SOUND;
notification.defaults|=Notification.DEFAULT_LIGHTS;
notification.defaults|=Notification.DEFAULT_VIBRATE;
nm.notify(1, notification);
}
}
上面的代码工作正常。 这样做后,我创建了一个数据库,存储多个日期和时间输入的user.database存储日期和时间为string.now我想在特定的日期和时间存储在数据库中生成通知。我不知道如何通过日期和时间从数据库calendar.set(INT字段,INT值)commands.I认为我可以使用光标检索日期和时间,但我不知道什么值传递在哪里和哪里args.MY数据库有三列名称,日期,时间。