我正在尝试从Firebase读取数据,但是虽然我正在使用教程,但android studio并未读取数据

我试图将android studio发送的链接复制到firebase:

DatabaseReference myRef = database.getReference(“ USERS”)。child(uID).child(“ DeviceID”);
textview.setText(myRef.toString());

和过去的结果在浏览器中,它显示了我在firebase中的结果,但是当我尝试使用它来获取数据时,它没有检索任何内容。
这是我试图通过调用函数来阅读的方法:

textview.setText(ReadDeviceId);

''''''''''''''''''''''''''''''''''

   private String ReadDeviceId(){

    FBUser = FirebaseAuth.getInstance().getCurrentUser();
    uID = FBUser.getUid();
    FirebaseDatabase database = FirebaseDatabase.getInstance();
    DatabaseReference myRef = database.getReference("USERS").child(uID).child("DeviceID");

    myRef.addValueEventListener(new ValueEventListener() {
        @Override
        public void onDataChange(DataSnapshot dataSnapshot) {

            r_deviceID = dataSnapshot.getValue(String.class);
        }

        @Override
        public void onCancelled(DatabaseError error) {
            // Failed to read value
            r_deviceID = "no userID";
        }
    });
    return r_deviceID;
}


'''''''''''''''''''''''''''''''''''''''''
知道我的Firebase数据库安全规则是:
'''''''''''''''''''''''''''''''

{

“规则”:{

“ .write”:“ auth!= null”,

“ .read”:true

}

}

'''''''''''''''''''

但什么也没显示

最佳答案

你可以试试这个代码

 private String ReadDeviceId(){
      FBUser = FirebaseAuth.getInstance().getCurrentUser();
      uID = FBUser.getUid();
      FirebaseDatabase database = FirebaseDatabase.getInstance();
      DatabaseReference myRef =
           database.getReference("USERS").child(uID).child("DeviceID");

     myRef.addValueEventListener(new ValueEventListener() {
          @Override
          public void onDataChange(DataSnapshot dataSnapshot) {
             for(Datasnapshot snapshot : dataSnapshot.getChildren)
             {
                //try to map it with your on model class and replace the String with your model class
                r_deviceID = snapshot.getValue(String.class)
             }
             //r_deviceID = dataSnapshot.getValue(String.class);
          }

          @Override
          public void onCancelled(DatabaseError error) {
        // Failed to read value
             r_deviceID = "no userID";
           }
     });
     return r_deviceID;
 }

10-07 19:15
查看更多