public class MainActivity2 extends AppCompatActivity implements View.OnClickListener {
TimePicker t;
DatePicker d;
Button b;
SQLiteDatabase s;
int bb;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.content_main2);
t = (TimePicker) findViewById(R.id.timePickerAlarmTime);
d=(DatePicker)findViewById(R.id.datePicker);
b = (Button) findViewById(R.id.btnAddAlarm);
b.setOnClickListener(this);
s = this.openOrCreateDatabase("alarm", MODE_MULTI_PROCESS, null);
s.execSQL("create table IF NOT EXISTS alarm4(year TEXT, month TEXT, day TEXT, hour TEXT, minute TEXT, second TEXT, count TEXT, id TEXT)");
Cursor c = s.rawQuery("select * from alarm4", null);
bb = c.getCount()+1;
}
@RequiresApi(api = Build.VERSION_CODES.N)
public void onClick(View v) {
if(v.equals(b)) {
Toast.makeText(this, "successfully set", Toast.LENGTH_LONG).show();
int y=d.getYear();
int month=d.getMonth()+1;
int day=d.getDayOfMonth();
int h = t.getHour();
int m = t.getMinute();
Calendar mcal = Calendar.getInstance();
mcal.set(Calendar.DAY_OF_YEAR, y);
mcal.set(Calendar.DAY_OF_MONTH, month-1);
mcal.set(Calendar.DAY_OF_MONTH, day);
mcal.set(Calendar.HOUR_OF_DAY, h);
mcal.set(Calendar.MINUTE, m);
mcal.set(Calendar.SECOND, 0);
final int _id = (int) System.currentTimeMillis();
s.execSQL("insert into alarm4 values('"+y+"','"+month+"','"+day+"','"+h+"','"+m+"','0','"+bb+"','"+_id+"')");
Intent i = new Intent("com.example.user.test.ALARM_START");
PendingIntent mp = PendingIntent.getBroadcast(this, _id, i, PendingIntent.FLAG_UPDATE_CURRENT);
AlarmManager am = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
am.set(AlarmManager.RTC_WAKEUP,
mcal.getTimeInMillis(),
mp);
Intent a=new Intent(getApplicationContext(), menu.class);
startActivity(a);
}
}
}
알람 어플을 만들어보고있는 초보인데요..
DatePicker와 TimePicker로 날짜와 시간을 설정해서 알람을 만들어 봤어요
시간 같은 부분은 아무 문제 없이 지정한 시간에 잘 작동하는데 년도와 달을 설정할때는 같게 설정하지 않으면 항상 알람이 바로 울리더라구요.. 근데 또 이상하게 일 같은경우에는 잘 작동하고..
혹시나 값이 잘못들어간건 아닌가 해서 데이터베이스에 넣어서 뽑아봤는데 정상적으로 들어가있더라구요
도대체 어느부분이 문제인가요.. ㅠㅠ 도와주세요