我想从Android获取Firebase数据库中添加的最后一个节点中的项目。您可以在下面的图片中看到我不确定如何获取特定节点,因为唯一密钥是由Firebase创建的。如何引用自动创建的节点和孩子里面?非常感谢获取Firebase数据库中的最后一个节点Android
的最后一个节点
我想从Android获取Firebase数据库中添加的最后一个节点中的项目。您可以在下面的图片中看到我不确定如何获取特定节点,因为唯一密钥是由Firebase创建的。如何引用自动创建的节点和孩子里面?非常感谢获取Firebase数据库中的最后一个节点Android
的最后一个节点
试试这个:
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.
}
});
希望这有助于!
我更喜欢通过对象编写和检索数据。 MyObject是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());
}
}
试试这个它会工作
数据库参考数据库;
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) {
}``
});;
这里是火力数据库https://androidheight.blogspot.in/2017/04/firebase-reatime-database.html – Prabhakar