Студия Android сравнивает дату ребенка из FireBase с устройством даты - PullRequest
0 голосов
/ 26 мая 2019

Как сравнить день и месяц, которые пользователь зарегистрировал при регистрации, с днем ​​и месяцем (firebase child: Cumpleaños) используемого устройства?это то, что я пытался

firebase database child Cumpleaños: 08-Nov

   protected void onStart() {
       super.onStart();
       CumpleañosRef = FirebaseDatabase.getInstance().getReference().child("Usuarios").child(CurrentUserID);
       Calendar calendar = Calendar.getInstance();

       final SimpleDateFormat currentDate = new SimpleDateFormat("dd-MMM", Locale.getDefault());
       saveCurrentDate = currentDate.format(calendar.getTime());
       CumpleañosRef.addListenerForSingleValueEvent(new ValueEventListener() {
           @Override
           public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
               if (dataSnapshot.child("Cumpleaños").equals(currentDate))
               {
                relativeLayout.setBackgroundColor(Color.parseColor("#dd89d7"));
               }
               else
               {
                   relativeLayout.setBackgroundColor(Color.parseColor("#ffffff"));
               }
           }

           @Override
           public void onCancelled(@NonNull DatabaseError databaseError) {

           }
       });
   }

нужно, чтобы при совпадении дат дочернего устройства и устройства firebase (день и месяц) менялся цвет фона.Спасибо

1 Ответ

1 голос
/ 27 мая 2019

Вы всегда можете получить значение вашего ребенка, позвонив по номеру getValue() (отметьте ноль, чтобы избежать исключений NullPointerExceptions)

String dateAsStringFromDB = dataSnapshot.child("Cumpleaños").getValue();

После того, как вы получили строковое значение (например, "09-ноябрь") currentDate для разбора дат

Date realtimeDate = currentDate.parse(saveCurrentDate);
Date dateFromDB = currentDate.parse(dateAsStringFromDB);

Затем сравниваем даты, используя compareTo() метод

if(realtimeDate.compareTo(dateFromDB) == 0 ){
 // do stuff .. 

 }

Не забудьте избежать нулевого указателя и исключений приведения

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...