开发者社区> 问答> 正文

Android Firebase显示当前已登录的用户详细信息

我试图显示当前登录用户的详细信息。我尝试了一些方法来尝试解决此问题,但似乎返回的所有结果都是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

展开
收起
montos 2020-03-26 21:10:47 552 0
1 条回答
写回答
取消 提交回答
  • 查看您的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

    2020-03-26 21:11:10
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
58同城Android客户端Walle框架演进与实践之路 立即下载
Android组件化实现 立即下载
蚂蚁聚宝Android秒级编译——Freeline 立即下载