java - 如何通过单一声明获取当前用户信息?
问题描述
我有很多活动,而且我的应用程序中有很多方法,每个活动都需要当前用户信息,例如来自 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) {
}
});
所以,现在的问题是,有没有办法在全局范围内声明这三个变量并且可以在任何活动中使用?
解决方案
您可以使用如下方式获取当前 Firebase 用户:
FirebaseUser user = FirebaseAuth.getInstance().getCurrentUser();
推荐阅读
- divi - How do I reverse the images in Divi Theme Gallery
- java - 由于路径中的“#”字符,未找到 XSD
- react-native - 如何更改 Android 的 React Native DateTime Picker 语言环境?
- php - 由于没有可用的匹配包,无法将 PHP 升级到 7.3
- c - 如何在标准C中正确使用双指针(指向指针的指针)作为结构数组?
- python - 当参数被编码时,Fastapi 的行为不同
- javascript - Vue js在v-if内的表格行中输入
- python - 如何使 MissingPermissions 命令处理程序的格式更好?
- javascript - 函数无法使用 useEffect 访问即时状态更改
- postgresql - 我可以假设所有数据库都会返回一个承诺吗?