Android Firebase OnDataChange не запускается - PullRequest
0 голосов
/ 11 мая 2018

Поэтому я пытаюсь создать прослушиватель, который будет оповещать об активности, когда новая запись добавляется в мою базу данных в Firebase, например:

public void dataListener() {
    Query lastQuery = mDatabase.child("id").orderByKey().limitToLast(1);
    lastQuery.addValueEventListener(new ValueEventListener() {
        @Override
        public void onDataChange(DataSnapshot dataSnapshot) {
            Log.d("ChildAdded",dataSnapshot.getChildren().toString());
            getAddedUpdates(dataSnapshot);
        }

        @Override
        public void onCancelled(DatabaseError databaseError) {
            Log.d("ChildError",databaseError.toString());
        }
    });

Я вызываю этот dataListener onCreate, ноничего не происходит, и под этим я подразумеваю, что, когда я добавил новую запись на другом телефоне, это не сработало, даже думал, что данные вставляются (когда я перезагружаю приложение, используя singleEeventListener в другом методе, данные принимаются)

enter image description here

Все поля текстовые (строки)

1 Ответ

0 голосов
/ 11 мая 2018

Местоположение неверно, вам нужно изменить это:

Query lastQuery = mDatabase.child("id").orderByKey().limitToLast(1);

на это:

 DatabaseReference ref=FirebaseDatabase.getInstance().getReference();
 Query lastQuery=ref.orderByKey().limitToLast(1);

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

У child("id") нет ключа, например:

id
 pushid
   name: peter

child'("id") равно randomid, тогда вы можете сделать это:

Query lastQuery=ref.orderByChild("id").equalTo(key_here)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...