获取Firebase数据库Android中的最后一个节点

Kat*_*atz 10 android firebase firebase-realtime-database

我想从我的Android中获取firebase数据库中添加的最后一个节点中的项目.您可以在下面的图片中看到我不知道如何获取特定节点,因为唯一键是由Firebase创建的.如何引用自动创建的节点和子进程?非常感谢

最后一个节点

在此输入图像描述

Rod*_*ers 33

试试这个:

DatabaseReference databaseReference = FirebaseDatabase.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.
    }
});
Run Code Online (Sandbox Code Playgroud)

希望这可以帮助!


小智 5

这可能有效:

DatabaseReference 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) {
        // TODO: Handle errors.
    }
});
Run Code Online (Sandbox Code Playgroud)