Sie versuchen, diesen einen Code
public class Add_todo_list extends Activity {
protected static final int DATE_DIALOG_ID = 0;
private static final int TIME_DIALOG_ID = 1;
private int mYear;
private int mMonth;
private int mDay;
private int mHour;
private int mMinute;
private int aY;
private int aMo;
private int aD;
private int aH;
private int aMi;
protected void onResume() {
// TODO Auto-generated method stub
getRecords();
super.onResume();
}
Button save, clear, back, cat_add;
EditText title, disc, due_date, alarm_time;
Spinner category;
ToggleButton alarm_set;
RadioGroup priority;
RadioButton r1, r2, r3;
private Database_creat mDbHelper;
private Alarm_set alarmset;
ArrayAdapter<String> adapter;
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.todo_add);
save = (Button) findViewById(R.id.todo_add_Bnt_Save);
clear = (Button) findViewById(R.id.todo_add_Bnt_clear);
back = (Button) findViewById(R.id.todo_add_Bnt_back);
cat_add = (Button) findViewById(R.id.todo_add_Bnt_category_add);
title = (EditText) findViewById(R.id.todo_add_edt_title);
disc = (EditText) findViewById(R.id.todo_add_edt_description);
due_date = (EditText) findViewById(R.id.todo_add_edt_due_date);
alarm_time = (EditText) findViewById(R.id.todo_add_edt_alaram_time);
category = (Spinner) findViewById(R.id.todo_add_spin_category);
alarm_set = (ToggleButton) findViewById(R.id.todo_add_togbnt);
priority = (RadioGroup) findViewById(R.id.todo_add_RadGro_priority);
r1 = (RadioButton) findViewById(R.id.todo_add_Red_hige);
r2 = (RadioButton) findViewById(R.id.todo_add_Rad_medium);
r3 = (RadioButton) findViewById(R.id.todo_add_Rad_low);
mDbHelper = new Database_creat(Add_todo_list.this);
mDbHelper.Open();
alarmset = new Alarm_set();
adapter = new ArrayAdapter<String>(this,
android.R.layout.select_dialog_item);
getRecords();
category.setAdapter(adapter);
category.setPrompt("Category");
//Date editText box display date dialog box
due_date.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
showDialog(DATE_DIALOG_ID);
}
});
//Time editText box display Time dialog box
alarm_time.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
showDialog(TIME_DIALOG_ID);
}
});
final Calendar c = Calendar.getInstance();
mYear = c.get(Calendar.YEAR);
mMonth = c.get(Calendar.MONTH);
mDay = c.get(Calendar.DAY_OF_MONTH);
aD = mDay;
aY = mYear;
aMo = mMonth;
mHour = c.get(Calendar.HOUR_OF_DAY);
mMinute = c.get(Calendar.MINUTE);
updateDisplay();
// Add new Category
cat_add.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
// TODO Auto-generated method stub
Intent intent = new Intent(Add_todo_list.this,
Add_new_category.class);
startActivity(intent);
}
});
//Bace button go to Main Activity
back.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
// TODO Auto-generated method stub
finish();
}
});
clear.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
// TODO Auto-generated method stub
title.setText("");
disc.setText("");
updateDisplay();
}
});
// Save Button to DataBase in Save info
save.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
// TODO Auto-generated method stub
String a = title.getText().toString().trim();
String b = disc.getText().toString().trim();
String c = due_date.getText().toString().trim();
String d = alarm_time.getText().toString().trim();
String e = category.getSelectedItem().toString();
String f = alarm_set.getText().toString();
String g = getradio(priority.getCheckedRadioButtonId());
String currentDateTimeString = DateFormat.getDateInstance()
.format(new Date());
// Log.v("save", g+" ");
Intent intent;
if (a.length() != 0 && b.length() != 0 && mYear >= aY && mMonth >= aMo && mDay >= aD) {
// if(c currentDateTimeString){
mDbHelper.insert_todoinfo(a, b, c, d, e, f, g);
Toast.makeText(Add_todo_list.this, "Add New Note ",
Toast.LENGTH_SHORT).show();
finish();
// DateFormat formatter;
// Date date = null;
// formatter = new SimpleDateFormat("MM-dd-yyyy");
// try {
// date = (Date) formatter.parse(c);
// } catch (ParseException e1) {
// // TODO Auto-generated catch block
// e1.printStackTrace();
// }
// Alarm Set Save with
Cursor cursor = mDbHelper.getId(c, d);
int getid = 0;
Log.v("cursor", "" + cursor.getCount());
while (cursor.moveToNext()) {
String id = cursor.getString(0);
getid = Integer.parseInt(id);
}
alarmset = new Alarm_set();
alarmset.Alarmset(Add_todo_list.this, c, d, getid);
} else {
Toast.makeText(Add_todo_list.this,
"Enter Title,Discription and Velid Date ", Toast.LENGTH_SHORT)
.show();
}
}
});
}
private DatePickerDialog.OnDateSetListener mDateSetListener = new DatePickerDialog.OnDateSetListener() {
public void onDateSet(DatePicker view, int year, int monthOfYear,
int dayOfMonth) {
mYear = year;
mMonth = monthOfYear;
mDay = dayOfMonth;
updateDisplay();
}
};
private TimePickerDialog.OnTimeSetListener mTimeSetListener = new TimePickerDialog.OnTimeSetListener() {
public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
mHour = hourOfDay;
mMinute = minute;
updateDisplay();
}
};
protected Dialog onCreateDialog(int id) {
switch (id) {
case DATE_DIALOG_ID:
return new DatePickerDialog(this, mDateSetListener, mYear, mMonth,
mDay);
case TIME_DIALOG_ID:
return new TimePickerDialog(this, mTimeSetListener, 0, 0, false);
}
return null;
}
private void updateDisplay() {
// TODO Auto-generated method stub
due_date.setText("");
alarm_time.setText("");
due_date.setText(new StringBuilder()
// Month is 0 based so add 1
.append(mMonth + 1).append("-").append(mDay).append("-")
.append(mYear));
alarm_time.setText(new StringBuilder().append(pad(mHour)).append(":")
.append(pad(mMinute)));
}
private Object pad(int x) {
// TODO Auto-generated method stub
if (x >= 10)
return String.valueOf(x);
else
return "0" + String.valueOf(x);
}
//Get List of Category
private void getRecords() {
// arrayList.clear();
adapter.clear();
Cursor cursor = mDbHelper.getInfoRecords();
while (cursor.moveToNext()) {
String id = cursor.getString(0);
String Categore = cursor.getString(1);
adapter.add(Categore);
}
}
//RedioButton Select to get Radio String
private String getradio(int id) {
// TODO Auto-generated method stub
String ab = null;
switch (id) {
case R.id.todo_add_Rad_low:
ab = r3.getText().toString();
break;
case R.id.todo_add_Rad_medium:
ab = r2.getText().toString();
break;
case R.id.todo_add_Red_hige:
ab = r1.getText().toString();
break;
}
return ab;
}
}
und andere Klasse
public class Alarm_set extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
}
//Set Alarm
public void Alarmset(Context cont, String c, String d, int getid) {
Log.v("alaramiuughuhuiohioh", "dfdd");
int cd = 0, cy = 0, cmo = 0, ch = 0, cmi = 0, cm = 0;
String date = c.substring(3, 5);
String month = c.substring(0, 2);
String Year = c.substring(6, 10);
String min = d.substring(3, 5);
String hours = d.substring(0, 2);
Log.v("get ste", date + "-" + month + "-" + Year);
cd = Integer.parseInt(date);
cy = Integer.parseInt(Year);
cm = Integer.parseInt(month);
cmo = cm - 1;
ch = Integer.parseInt(hours);
cmi = Integer.parseInt(min);
Calendar cal = Calendar.getInstance();
cal.set(cy, cmo, cd, ch, cmi);
Log.v("set", cy + "-" + cd + "-" + cmo + "-" + ch + "-" + cmi);
Log.v("alarm set", "alarm set in " + cal.getTimeInMillis());
Intent intent = new Intent(cont, AlarmReceiverActivity.class);
intent.putExtra("id",getid);
PendingIntent penintent = PendingIntent.getBroadcast(cont, getid,
intent, 0);
AlarmManager alm = (AlarmManager) cont.getSystemService(ALARM_SERVICE);
alm.set(AlarmManager.RTC_WAKEUP, cal.getTimeInMillis(), penintent);
}
//Delete Alarm
public void Alarmcancel(Context cont, int id) {
Intent intent = new Intent(cont, AlarmReceiverActivity.class);
PendingIntent penintent = PendingIntent.getBroadcast(cont, id, intent,
0);
penintent.cancel();
//Toast.makeText(cont, "alarm stop", Toast.LENGTH_LONG).show();
}
}
und Broadcast-Klasse
public class AlarmReceiverActivity extends BroadcastReceiver {
private static final int MODE_WORLD_READABLE = 0;
private NotificationManager nm;
private Database_creat mDbHelper;
@Override
public void onReceive(Context context, Intent intent) {
// TODO Auto-generated method stub
String descr = null;
mDbHelper = new Database_creat(context);
mDbHelper.Open();
int id = intent.getIntExtra("id",0);
Log.v("alarmreciev Id ",id+"");
String sub_id = String.valueOf(id);
String alarm_set = null;
String title = null ;
SharedPreferences myPrefs;
// Get Title,Description And Set Status Bar Notifications
Cursor cursor = mDbHelper.getdata_disp(id);
while (cursor.moveToNext()) {
String Title = cursor.getString(0);
String Description = cursor.getString(cursor.getColumnIndex("description"));
alarm_set =cursor.getString(cursor.getColumnIndex("alarm_set"));
title = cursor.getString(cursor.getColumnIndex("title"));
descr = Description;
}
nm = (NotificationManager) context
.getSystemService(Context.NOTIFICATION_SERVICE);
CharSequence from = "To Do List";
Intent disintent = new Intent(context,Todo_display_win.class);
disintent.putExtra("id",sub_id);
Log.v("send to display Id", sub_id);
CharSequence message = title;
Notification notif = new Notification(R.drawable.notes,
"To do List", System.currentTimeMillis());
notif.flags=Notification.FLAG_AUTO_CANCEL;
PendingIntent contentIntent = PendingIntent.getActivity(context, 0,
disintent,Notification.FLAG_AUTO_CANCEL);
notif.setLatestEventInfo(context, from, message, contentIntent);
nm.notify(1, notif);
//nm.cancel(1);
//notif.defaults |= Notification.FLAG_AUTO_CANCEL;
if(alarm_set.equals("on"))
{
Toast.makeText(context,title, Toast.LENGTH_LONG).show();
}
myPrefs = context.getSharedPreferences("myPrefs", MODE_WORLD_READABLE);
String on = "on";
Log.v("sound", myPrefs.getString("sound", "off"));
if (on.equals(myPrefs.getString("sound", "off"))) {
notif.defaults |= Notification.DEFAULT_SOUND;
}
Log.v("vibrate", myPrefs.getString("vibrate", "off"));
if (on.equals(myPrefs.getString("vibrate", "off"))) {
notif.defaults |=Notification.DEFAULT_VIBRATE;
}
Log.v("light", myPrefs.getString("light", "off"));
if (on.equals(myPrefs.getString("light", "off"))) {
notif.defaults |= Notification.DEFAULT_LIGHTS;
}
}
}
so rufen Sie wollen einfach nur 'generateRandom (') von Aktivität jeder 24 Stunden, oder? –
Grundsätzlich ja, ich könnte noch ein paar Dinge hinzufügen, aber ich weiß nicht, was der richtige Weg wäre, dies zu tun. Ich sehe viele Beispiele für Rundfunkempfänger, aber ich frage mich, ob es einen anderen Weg gibt, es zu tun. Wenn ein Broadcast Reciever der richtige Weg ist, dann lass es mich wissen, wie ich sagte, ich bin neu in all dem. Danke –