如何从Firebase数据库读取数据? - Java

问题描述 投票:0回答:2

我正在制作一个游戏,如果玩家获胜,那么胜利就会添加到数据库中。我如何从这里读取数据?

我以不同的方式读取球员的名字,胜利和失败不能重复。

java android firebase google-cloud-platform firebase-realtime-database
2个回答
1
投票

为了能够读取

jjjj
节点下的数据,请使用以下代码行:

DatabaseReference db = FirebaseDatabase.getInstance().getReference();
DatabaseReference nameRef = db.child("players").child("jjjj");
nameRef.get().addOnCompleteListener(new OnCompleteListener<DataSnapshot>() {
    @Override
    public void onComplete(@NonNull Task<DataSnapshot> task) {
        if (task.isSuccessful()) {
            DataSnapshot snapshot = task.getResult();
            String loses = snapshot.child("loses").getValue(Long.class);
            String name = snapshot.child("name").getValue(String.class);
            String wins = snapshot.child("wins").getValue(Long.class);
            Log.d("TAG", loses + "/" + name + "/" + wins);
        } else {
            Log.d("TAG", task.getException().getMessage()); //Never ignore potential errors!
        }
    }
});

logcat 中的结果将是:

3/jjjj/4

注意事项:

  • 始终创建指向您要读取的节点的引用。
  • 如果您的数据库位于默认位置之外的其他位置,请检查此答案

0
投票

使用这个方法

这是从firebase实时数据库获取数据的方法

DatabaseReference reference = FirebaseDatabase.getInstance().getReference();

    reference.child("players").child(name).addValueEventListener(new ValueEventListener() {
        @Override
        public void onDataChange(@NonNull DataSnapshot snapshot) {
            for (DataSnapshot dataSnapshot : snapshot.getChildren()){

            }
        }

        @Override
        public void onCancelled(@NonNull DatabaseError error) {

        }
    });
© www.soinside.com 2019 - 2024. All rights reserved.