首页 > 解决方案 > 如何通过单一声明获取当前用户信息?

问题描述

我有很多活动,而且我的应用程序中有很多方法,每个活动都需要当前用户信息,例如来自 firebase 数据库的姓名、姓氏、用户名。为此,我每次都必须通过以下代码声明变量。

 UserRef.child(currentUserID).addValueEventListener(new ValueEventListener() {
                @Override
                public void onDataChange(@NonNull DataSnapshot dataSnapshot)
                {
                    if(dataSnapshot.exists())
                    {
                        String myProfileImage=dataSnapshot.child("username").getValue().toString();
                        String userfirstname=dataSnapshot.child("firstname").getValue().toString();
                        String userlastname=dataSnapshot.child("lastname").getValue().toString();
                    }

                }

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

                }
        });

所以,现在的问题是,有没有办法在全局范围内声明这三个变量并且可以在任何活动中使用?

标签: javaandroidfirebasefirebase-realtime-database

解决方案


您可以使用如下方式获取当前 Firebase 用户:

FirebaseUser user = FirebaseAuth.getInstance().getCurrentUser();

推荐阅读