我试图显示当前登录用户的详细信息。我尝试了一些方法来尝试解决此问题,但似乎返回的所有结果都是null。我的用户Firebase数据库是:
数据库
我要去哪里错了?
FirebaseAuth mAuth = FirebaseAuth.getInstance();
FirebaseAuth firebaseAuth = FirebaseAuth.getInstance();
Button mBeerButton;
Button mBeerButtonTwo;
Button mBeerButtonThree;
Button mBeerButtonFour;
Button mSignOutButton;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_home_screen);
String mUserID = firebaseAuth.getCurrentUser().getUid();
DatabaseReference ref= FirebaseDatabase.getInstance().getReference().child("Users");
ref.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
String mUsername = dataSnapshot.child("mUserName").getValue().toString();
Toast.makeText(homeScreen.this,"User name is "+ mUsername,Toast.LENGTH_SHORT).show();
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
}
});
问题来源:Stack Overflow
查看您的JSON结构。您正在跳过节点之一。进行如下更改:
ref.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
String mUsername = dataSnapshot.child("JoBlogsUser").child("mUserName").getValue().toString();
Toast.makeText(homeScreen.this,"User name is "+ mUsername,Toast.LENGTH_SHORT).show();
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
}
});
回答来源:Stack Overflow
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。