내 응용 프로그램에서 사용자가 이미 설정 한 시간을 기준으로 알림을 표시하고 날짜 및 시간을 로컬 데이터베이스에 저장하려고합니다.
나는 7.0 안드로이드 버전 이상하지만 7.0을 아래와 같이 잘 작동되는 일부 장치를 로컬 데이터베이스에서 날짜 및 시간을 받고 SimpleDateFormat의와 비교하고이
저장된 날짜와 시간을 SimpleDateFormat 및 표시 알림과 비교하는 방법은 무엇입니까?
SimpleDateFormat yourDateFormat = new SimpleDateFormat("dd-MM-yyyy HH:mm");
Date date = null;
try {
String date_time = "17-11-2017 15:10";
date = yourDateFormat.parse(date_time);
} catch (ParseException e) {
Log.e(TAG, "Parsing date time failed", e);
}
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
Calendar current = Calendar.getInstance();
if (calendar.compareTo(current) <= 0) {
Toast.makeText(getApplicationContext(), "Invalid Date/Time", Toast.LENGTH_LONG).show();
} else {
AlarmManager alarmManager = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
Intent myIntent = new Intent(RemainderActivity.this, NotificationReceiver.class);
PendingIntent displayIntent = PendingIntent.getBroadcast(getBaseContext(), 0, myIntent, 0);
alarmManager.setExact(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), displayIntent);
}
처럼 날짜 구문 분석하고 버전은이
Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'java.util.Date java.text.SimpleDateFormat.parse(java.lang.String)' on a null object reference
같이 java.lang.NullPointerException
을 보여주고있다 오류가 여기에 표시됩니다 date = yourDateFormat.parse(date_time);
.
도와주세요.
미리 감사드립니다.
이 라인의 검사 연도가 잘못되었습니다. String date_time = "17/11/207 15:10"; –
죄송합니다. 오타를 입력하십시오. 원래 형식은'String date_time = "17-11-2017 15:10"; ' – Ram
그 줄에서'NullPointerException'을 얻을 수 있다고 믿기가 힘듭니다. 이 코드가 실행중인 정확한 코드입니까? –