Как отобразить дату и время в уведомлении?

Когда пользователь завершит выбор даты и времени и нажмет кнопку, уведомление будет отправлено пользователю, но как я могу отобразить дату и время в уведомлении?

Мои данные Firebase

Мои данные 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.

Другие вопросы по тегам