Получить последний узел в базе данных Firebase Android
Я хочу получить элемент в последнем узле, добавленном в базу данных firebase с моего Android. Вы можете видеть на изображении ниже, что я не уверен, как получить конкретный узел, потому что уникальный ключ создается Firebase. Как ссылаться на автоматически созданный узел и дочерний узел внутри? Большое спасибо
Последний узел
3 ответов:
Попробуйте это:
DatabaseReference databaseReference = Firebase.getInstance().getReference(); Query lastQuery = databaseReference.child("mp").orderByKey().limitToLast(1); lastQuery.addListenerForSingleValueEvent(new ValueEventListener() { @Override public void onDataChange(DataSnapshot dataSnapshot) { String message = dataSnapshot.child("message").getValue().toString(); } @Override public void onCancelled(DatabaseError databaseError) { //Handle possible errors. } });Надеюсь, это поможет!
Попробуйте это, это будет работать
База данных справочной БД;db=FirebaseDatabase.getInstance().getReference().child("mp"); Query query = db.orderByKey().limitToLast(1); query.addListenerForSingleValueEvent(new ValueEventListener() { @Override public void onDataChange(DataSnapshot dataSnapshot) { for (DataSnapshot child: dataSnapshot.getChildren()) { Log.d("User key", child.getKey()); Log.d("User val", child.child("message").getValue().toString()); } } @Override public void onCancelled(DatabaseError databaseError) { }`` });;
Я предпочитаю записывать и извлекать данные через объекты. Мой объект-POJO.
@Override public void onDataChange(DataSnapshot dataSnapshot) { for (DataSnapshot data : dataSnapshot.getChildren()) { MyObject myObject = data.getValue(MyObject.class); Log.i(TAG, data.getKey() + " = " + myObject.toString()); } }

Comments