Firebase. Сделать значение переменной

258
27 августа 2017, 02:59

Как значение в базе данных Firebase сделать переменной в андроид чтобы сравнить значения?

Если делать так

DatabaseReference db = mMessageDatabaseReference.child("people").child(user.getUid()).child("number");
if(db == 0) {
   ...

подчеркивает (db == 0).

Что я не так сделал?

Answer 1

Согласно официальной документации (https://firebase.google.com/docs/database/android/read-and-write) вы должны сделать так:

private DatabaseReference mDatabase;
mDatabase = FirebaseDatabase.getInstance().getReference();
ValueEventListener valueListener = new ValueEventListener() {
    @Override
    public void onDataChange(DataSnapshot dataSnapshot) {
        int peopleNumber = dataSnapshot.child("people").child(user.getUid()).child("number").getValue(Integer.class);
        if (peopleNumber == 0){
          //do something
        }
    }
    @Override
    public void onCancelled(DatabaseError databaseError) {
    }
};
mDatabase.addValueEventListener(valueListener);

Так же вы можете использовать метод addListenerForSingleValueEvent который выполниться только раз, что удобно при единичных запросах к базе данных.

READ ALSO
Как запретить изменять размер BorderPane в JavaFX?

Как запретить изменять размер BorderPane в JavaFX?

Как запретить изменять размер BorderPane в JavaFX? Параметр resizeble не активенВезде установил нужные мне размеры(300,400), но при запуске все-равно создается...

228
Метод POST в Android 6.0

Метод POST в Android 6.0

Начну с началаЯ начинающий разработчик под Android

236
Фильтр по параметрам при работе с бд?(Java)

Фильтр по параметрам при работе с бд?(Java)

Как реализовать удобный фильтр по параметрам при работе с бд? Вот сразу вспоминаются интернет магазины(там как раз по множеству входящих...

203
Не могу вставить R.String в Toast

Не могу вставить R.String в Toast

Столкнулся с проблемой, у меня в классе есть Toast, приложение поддерживает множество языков, и если я вставляю текст в Toast так:

298