Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/firebase/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 检索当前用户的数据。从firebase返回空值_Android_Firebase_Firebase Realtime Database - Fatal编程技术网

Android 检索当前用户的数据。从firebase返回空值

Android 检索当前用户的数据。从firebase返回空值,android,firebase,firebase-realtime-database,Android,Firebase,Firebase Realtime Database,您好,我正在尝试从实时firebase字段检索数据,但它返回null。我使用textView52.setText(firebaseUser.getEmail())进行了检查;看看它是否真的有联系,是否有效。问题在于从数据库中恢复一个值,在本例中是字段“name”,有人能帮我吗? 我做错什么了吗? 欢迎任何帮助 DatabaseReference ref = FirebaseDatabase.getInstance().getReference("Users"); ref.chil

您好,我正在尝试从实时firebase字段检索数据,但它返回null。我使用textView52.setText(firebaseUser.getEmail())进行了检查;看看它是否真的有联系,是否有效。问题在于从数据库中恢复一个值,在本例中是字段“name”,有人能帮我吗? 我做错什么了吗? 欢迎任何帮助

    DatabaseReference ref = FirebaseDatabase.getInstance().getReference("Users");
    ref.child("Users").addListenerForSingleValueEvent(new ValueEventListener() {
        FirebaseUser user = FirebaseAuth.getInstance().getCurrentUser();
        String userUid = user.getUid();
        @Override
        public void onDataChange(DataSnapshot dataSnapshot) {
            String data = dataSnapshot.child("name").getValue(String.class);
            textView52.setText(data);
        }

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

        }
    });

}

已更新! 检查那些线路

DatabaseReference ref = FirebaseDatabase.getInstance().getReference("Users");
ref.child("Users").addListenerForSingleValueEvent(new ValueEventListener() {...}
基本上你试着调用另一个名为User的子用户,为了很容易理解,在这里替换该用户的

ref.child("use_that_key_here").addListenerForSingleValueEvent(new ValueEventListener() {...}
不是一个解决方案,您不能硬编码每个键,但有了它,您应该可以看到数据

试试这样:

// ref to db
DatabaseReference ref= FirebaseDatabase.getInstance();
ref.child("Users").addListenerForSingleValueEvent(new ValueEventListener() {
    @Override
    public void onDataChange(DataSnapshot dataSnapshot) {
       //debug this par and check if you can see your user
    }

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

    }
});
更新! 检查那些线路

DatabaseReference ref = FirebaseDatabase.getInstance().getReference("Users");
ref.child("Users").addListenerForSingleValueEvent(new ValueEventListener() {...}
基本上你试着调用另一个名为User的子用户,为了很容易理解,在这里替换该用户的

ref.child("use_that_key_here").addListenerForSingleValueEvent(new ValueEventListener() {...}
不是一个解决方案,您不能硬编码每个键,但有了它,您应该可以看到数据

试试这样:

// ref to db
DatabaseReference ref= FirebaseDatabase.getInstance();
ref.child("Users").addListenerForSingleValueEvent(new ValueEventListener() {
    @Override
    public void onDataChange(DataSnapshot dataSnapshot) {
       //debug this par and check if you can see your user
    }

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

    }
});
试一试

试一试


谢谢你的回复,但我需要从当前用户那里得到它。还是谢谢你的帮助。我明白,但是你在叫“用户”->“用户”->。。。当前用户与数据库无关,让我更新我的回答谢谢你的回答,但我需要从当前用户那里得到它。还是谢谢你的帮助。我明白,但是你在叫“用户”->“用户”->。。。当前用户与数据库无关,让我更新我的答案