I have a dumper. My application is pushing notification. I want to show the date in the format 01-07-2013 MM-dd-yyyy. Please check my code below:
//---Button view--- Button btnOpen = ( Button ) findViewById( R.id.btEventDone ); btnOpen.setOnClickListener( new View.OnClickListener() { public void onClick(View v) { String strT = title.getText().toString(); String strDes = description.getText().toString(); // check if user did not input anything if( strT.isEmpty() || strDes.isEmpty() ){ Toast.makeText( getBaseContext(), "You have blank fields!", Toast.LENGTH_SHORT ).show(); } else{ //---use the AlarmManager to trigger an alarm--- AlarmManager alarmManager = ( AlarmManager ) getSystemService( ALARM_SERVICE ); //---get current date and time--- Calendar calendar = Calendar.getInstance(); //---sets the time for the alarm to trigger--- calendar.set( Calendar.YEAR, date.getYear() ); calendar.set( Calendar.MONTH, date.getMonth() ); calendar.set( Calendar.DAY_OF_MONTH, date.getDayOfMonth() ); calendar.set( Calendar.HOUR_OF_DAY, time.getCurrentHour() ); calendar.set( Calendar.MINUTE, time.getCurrentMinute() ); calendar.set( Calendar.SECOND, 0 ); //---PendingIntent to launch activity when the alarm triggers--- Intent i = new Intent( CalendarEvent.this, DisplayNotification.class ); year = calendar.get( Calendar.YEAR ); month = calendar.get( Calendar.MONTH ); day = calendar.get( Calendar.DAY_OF_MONTH ); hour = calendar.get( Calendar.HOUR ); minute = calendar.get( Calendar.MINUTE ); Date d = new Date(year, month, day); SimpleDateFormat dateFormatter = new SimpleDateFormat( "MM-dd-yyyy"); String strDate = dateFormatter.format(d); String strTitle = title.getText().toString(); String strDescription = description.getText().toString(); strDate = String.valueOf( month ) + "-" + String.valueOf( day ) + "-" + String.valueOf( year ); StringBuilder sb = new StringBuilder(); if(hour>=12){ sb.append(hour-12).append( ":" ).append(minute).append(" PM"); }else{ sb.append(hour).append( ":" ).append(minute).append(" AM"); } String strTime = sb.toString(); //---assign an ID of 1--- i.putExtra( "NotifID", notifID ); i.putExtra( "Title", strTitle ); i.putExtra( "Description", strDescription ); i.putExtra( "Date", strDate ); i.putExtra( "Time", strTime ); PendingIntent displayIntent = PendingIntent.getActivity( getBaseContext(), notifID, i, 0 ); //---sets the alarm to trigger--- alarmManager.set( AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), displayIntent ); finish(); } } }); }
AlarmDetails:
@Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.alarmdetails); //---look up the notification manager service--- NotificationManager nm = ( NotificationManager ) getSystemService( NOTIFICATION_SERVICE ); title = ( EditText ) findViewById ( R.id.etDetailTitle ); description = ( EditText ) findViewById ( R.id.etDetailDescription ); date = ( EditText ) findViewById ( R.id.etDetailDate ); time = ( EditText ) findViewById ( R.id.etDetailTime ); done = ( Button ) findViewById ( R.id.btnAlarmDone ); done.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { // TODO Auto-generated method stub finish(); } }); //---cancel the notification--- nm.cancel( getIntent().getExtras().getInt( "NotifID" ) ); String strTitle = getIntent().getExtras().getString( "Title" ); String strDescription = getIntent().getExtras().getString( "Description" ); strDate = getIntent().getExtras().getString( "Date" ); String strTime = getIntent().getExtras().getString( "Time" ); title.setText( strTitle ); description.setText( strDescription ); date.setText( strDate ); time.setText( strTime ); }
DisplayNotification:
@Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); //---get the notification ID for the notification; // passed in by the NotifyActivity--- int notifID = getIntent().getExtras().getInt( "NotifID" ); String strTitle = getIntent().getExtras().getString( "Title" ); String strDescription = getIntent().getExtras().getString( "Description" ); String strDate = getIntent().getExtras().getString( "Date" ); String strTime = getIntent().getExtras().getString( "Time" ); //---PendingIntent to launch activity if the user selects // the notification--- Intent i = new Intent( DisplayNotification.this, AlarmDetails.class ); i.putExtra( "NotifID", notifID ); i.putExtra( "Title", strTitle ); i.putExtra( "Description", strDescription ); i.putExtra( "Date", strDate ); i.putExtra( "Time", strTime ); PendingIntent detailsIntent = PendingIntent.getActivity(this, 0, i, 0); NotificationManager nm = ( NotificationManager ) getSystemService( NOTIFICATION_SERVICE ); Notification notif = new Notification( R.drawable.ic_launcher, "iHealthFirst: Notification!", System.currentTimeMillis() ); CharSequence from = "iHealthFirst - New Notification"; CharSequence message = "This is your alert, click to view"; notif.setLatestEventInfo(this, from, message, detailsIntent); notif.flags = Notification.FLAG_INSISTENT; notif.defaults |= Notification.DEFAULT_SOUND; //---100ms delay, vibrate for 250ms, pause for 100 ms and // then vibrate for 500ms--- notif.vibrate = new long[] { 100, 250, 100, 500}; nm.notify( notifID, notif ); //---destroy the activity--- finish(); }
My current application is displayed only in this format Md-yyyy. I read that we should use SimpleDateFormat, but I do not know how to use it in my application. Can anyone help? Thanks.