Как отобразить дату и время в уведомлении?
Когда пользователь завершит выбор даты и времени и нажмет кнопку, уведомление будет отправлено пользователю, но как я могу отобразить дату и время в уведомлении?
Мои данные Firebase
private void Confirm() {
String Doctor = mySpinner.getSelectedItem().toString();
myRef.child("Appointment").child(userID).child("Doctor").setValue(Doctor);
NotificationManager nm = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
notification.setSmallIcon(R.drawable.ic_stat_name);
notification.setTicker("This is the ticker");
notification.setWhen(System.currentTimeMillis());
notification.setContentTitle("Appointment");
notification.setContentText("Notification");
NotificationCompat.InboxStyle inboxStyle = new NotificationCompat.InboxStyle();
String[] dates = new String[3];
dates[0] = "Date :" ;
dates[1] = "Time :" ;
dates[2] = "Doctor :" + Doctor;
inboxStyle.setBigContentTitle("Appointment");
for (String mDate : dates)
{
inboxStyle.addLine(mDate);
}
notification.setStyle(inboxStyle);
nm.notify(0,notification.build());
Вот как я храню данные о времени и дате:
String time = new StringBuilder().append(hourOfDay).append(':').append(minutes).append("").append(timeSet).toString();
theTime.getText().toString();
theTime.setText(time);
myRef.child("Appointment").child(userID).child("Time").setValue(time);
String date = (i1 + 1) + "/" + i2 + "/" + i;
Log.d(TAG, "onSelectedDayChange: date: " + date);
Intent intent = new Intent(CalendarActivity.this, Appointment.class);
intent.putExtra("date", date);
myRef.child("Appointment").child(userID).child("Date").setValue(date);
startActivity(intent);
1 ответ
To get the date and time, please use the following code:
DatabaseReference rootRef = FirebaseDatabase.getInstance().getReference();
DatabaseReference myRef = rootRef.child("Appointment").child(userID);
ValueEventListener eventListener = new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
String date = ds.child("Date").getValue(String.class);
String time = ds.child("Time").getValue(String.class);
//add date and time to notification
Log.d("TAG", data + " - " + time);
}
@Override
public void onCancelled(DatabaseError databaseError) {}
};
youmyRefrRef.addListenerForSingleValueEvent(eventListener);
You outout will be:
10/31/2017 - 6:21AM
Не забудьте использовать date
а также time
только внутри onDataChange()
method otherwise will always be null, due the asyncronious behaviour of this method.