分享
为什么问答平台  ›  专栏  ›  技术社区  ›  Hirose

如何从FireBase数据库中仅携带一个数据? - How can i bring just one data from firebase database?

  •  0
  • Hirose  · 技术社区  · 1 周前

    我知道钥匙

    在值“petcode”中是保存的键

    reference=firebasedatabase.getInstance().getReference().child(“pets”).child(firebaseuser.getuid()).child(petcode);
    
    
    @覆盖
    petname=string.valueof(datasnapshot.child(“petname”));
    
    @覆盖
    
    })(二)
    
    
    petname值为空不明白为什么它是空的

    enter image description here

    这就是我想要得到的数据petname

    reference = FirebaseDatabase.getInstance().getReference().child("Pets").child(firebaseUser.getUid()).child(petcode);
    
    
            reference.addListenerForSingleValueEvent(new ValueEventListener() {
                @Override
                public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
                    petname = String.valueOf(dataSnapshot.child("petname"));
                }
    
                @Override
                public void onCancelled(@NonNull DatabaseError databaseError) {
    
                }
            });
    
    

    petname值为空

    1 回复  |  直到 1 周前
        1
  •  1
  •   Mr. Patel    1 周前

    试试这个:

    ref.child("-LiCZpsymgNgtNcCinpHR5").child("petname").addValueEventListener(new ValueEventListener() {
        @Override
        public void onDataChange(DataSnapshot snapshot) {
            try {
                if (snapshot.getValue() != null) {
                    try {
                        Log.e("TAG", "" + snapshot.getValue()); // your name values you will get here
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                } else {
                    Log.e("TAG", " it's null.");
                }
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    
        @Override
        public void onCancelled(FirebaseError firebaseError) {
            Log.e("onCancelled", " cancelled");
        }
    });
    
        2
  •  0
  •   majuran    1 周前
        DatabaseReference databaseReference = FirebaseDatabase.getInstance().getReference().child("Pets").child(firebaseUser.getUid()).child(petcode).child("petname");
            databaseReference.addListenerForSingleValueEvent(new ValueEventListener() {
                @Override
                public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
                    String petname = dataSnapshot.getValue(String.class);                       
                }
    
                @Override
                public void onCancelled(@NonNull DatabaseError databaseError) {
                    conformDialog.setMessage("Something bad happened!, try again");
                    conformDialog.setCancelable(true);
                    conformDialog.setCanceledOnTouchOutside(true);
                }
            });
    

    添加值事件侦听器