Android 如何仅读取一个键以从Firebase数据库获取值?

Android 如何仅读取一个键以从Firebase数据库获取值?,android,firebase-realtime-database,Android,Firebase Realtime Database,我只想在5A4WDqhepiOwy4fDKM9OzocHNdX2获取值(地址和电话) 这是我在Firebase数据库中的数据库: "users" : { "5A4WDqhepiOwy4fDKM9OzocHNdX2" : { "address" : "123456", "displayname" : "han", "email" : "phamvanhan68@gmail.com", "id" : "5A4WDqhepiOwy4fDKM9

我只想在
5A4WDqhepiOwy4fDKM9OzocHNdX2获取值(地址和电话)

这是我在Firebase数据库中的数据库:

  "users" : {
    "5A4WDqhepiOwy4fDKM9OzocHNdX2" : {
      "address" : "123456",
      "displayname" : "han",
      "email" : "phamvanhan68@gmail.com",
      "id" : "5A4WDqhepiOwy4fDKM9OzocHNdX2",
      "phone" : "1234567890"
    },
    "iFFzXSnwMDTWXbxKIFmnVuw18Wf1" : {
      "address" : "han",
      "displayname" : "han",
      "email" : "111111@gmail.com",
      "id" : "iFFzXSnwMDTWXbxKIFmnVuw18Wf1",
      "phone" : "0123456789"
    }
  }
这是我的密码

mAuth = FirebaseAuth.getInstance();
mFirebaseDatabase = FirebaseDatabase.getInstance();
myRef = mFirebaseDatabase.getReference();
FirebaseUser user = mAuth.getCurrentUser();
idUser = user.getUid();
myRef.addValueEventListener(new ValueEventListener() {
    @Override
    public void onDataChange(DataSnapshot dataSnapshot) {
        DataSnapshot dataSnapshotTyperService =dataSnapshot.child("users");
        getInfor(dataSnapshotTyperService);
        Log.d("kiemtra12345", idUser+"");

    }
    @Override
    public void onCancelled(DatabaseError databaseError) {
    }
});

void getInfor(DataSnapshot DataSnapshot){
对于(DataSnapshot ds:DataSnapshot.getChildren()){
用户uInfo=新用户();
uInfo.setDisplayname(ds.child(idUser).getValue(User.class.getDisplayname());
setPhone(ds.child(idUser.getValue(User.class.getPhone());
uInfo.setAddress(ds.child(idUser).getValue(User.class.getAddress());
Log.d(“kiemtra123451”,“showData:name:”+uInfo.getDisplayname());
Log.d(“kiemtra123452”,“showData:email:”+uInfo.getEmail());
Log.d(“kiemtra123453”,“showData:phone_num:+uInfo.getPhone());
ArrayList数组=新的ArrayList();
add(uInfo.getDisplayname());
add(uInfo.getEmail());
add(uInfo.getPhone());
ArrayAdapter=新的ArrayAdapter(这是android.R.layout.simple\u list\u item\u 1,数组);
lvtest.setAdapter(适配器);
Log.d(“kiemtraaaaaaaaa”,lvtest+”);
}
}

您能否通过编辑此问题发布您的代码?请告诉我们你试图做什么。我再次上传,你可以看到上面!你能帮助我吗?请注意,您的问题中包含了JSON树的图片。请将其替换为实际的JSON文本,您可以通过单击中的导出JSON链接轻松获取。将JSON作为文本使其可搜索,允许我们轻松使用它来测试您的实际数据,并在我们的答案中使用它,这通常是一件好事。您的JSON包含
user
(单数),而您的代码使用
dataSnapshot.child(“用户”)
(复数)。您能通过编辑此问题发布您的代码吗?请告诉我们你试图做什么。我再次上传,你可以看到上面!你能帮助我吗?请注意,您的问题中包含了JSON树的图片。请将其替换为实际的JSON文本,您可以通过单击中的导出JSON链接轻松获取。将JSON作为文本使其可搜索,允许我们轻松使用它来测试您的实际数据,并在我们的答案中使用它,这通常是一件好事。您的JSON包含
user
(单数),而您的代码使用
dataSnapshot.child(“用户”)
(复数)。
void getInfor (DataSnapshot dataSnapshot){
        for(DataSnapshot ds : dataSnapshot.getChildren()){
            User uInfo = new User();
            uInfo.setDisplayname(ds.child(idUser).getValue(User.class).getDisplayname());
            uInfo.setPhone(ds.child(idUser).getValue(User.class).getPhone());
            uInfo.setAddress(ds.child(idUser).getValue(User.class).getAddress());

            Log.d("kiemtra123451", "showData: name: " + uInfo.getDisplayname());
            Log.d("kiemtra123452", "showData: email: " + uInfo.getEmail());
            Log.d("kiemtra123453", "showData: phone_num: " + uInfo.getPhone());


            ArrayList<String> array  = new ArrayList<>();
            array.add(uInfo.getDisplayname());
            array.add( uInfo.getEmail());
            array.add(uInfo.getPhone());
            ArrayAdapter adapter = new ArrayAdapter(this,android.R.layout.simple_list_item_1,array);
            lvtest.setAdapter(adapter);

            Log.d("kiemtraaaaaaaaaaaaaaa",lvtest+"");
        }
    }
FirebaseAuth mAuth = FirebaseAuth.getInstance();
FirebaseUser user = mAuth.getCurrentUser();
DatabaseReference myRef = mFirebaseDatabase.getReference().child("user/Harry");

myRef.addValueEventListener(new ValueEventListener() {
    @Override
    public void onDataChange(DataSnapshot dataSnapshot) {
        User myUser = dataSnapshot.getValue(User.class);
        Log.d("FB", myUser.getAddress());
        Log.d("FB", myUser.getPhone());
    }
    @Override
    public void onCancelled(DatabaseError databaseError) {
        Log.e(TAG, "onCancelled", databaseError.toException());
    }
});