我想从firestore检索当前记录的用户数据,但这显示错误[重复]
Posted
技术标签:
【中文标题】我想从firestore检索当前记录的用户数据,但这显示错误[重复]【英文标题】:i want to retrieve current logged user data from firestore but this show error [duplicate] 【发布时间】:2018-08-18 00:25:06 【问题描述】:尝试在
null
对象引用上调用虚拟方法 com.google.firebase.auth.FirebaseUser com.google.firebase.auth.FirebaseAuth.getCurrentUser()':
MyAccount.java
public class MyAccount extends AppCompatActivity
private FirebaseAuth mAuth;
private TextView email,passwordtxt;
private FirebaseFirestore mFirestore;
private String UserId;
private FirebaseAuth.AuthStateListener mAuthListener;
@Override
protected void onCreate(Bundle savedInstanceState)
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_my_account);
email = (TextView)findViewById(R.id.email_txt);
UserId = mAuth.getCurrentUser().getUid();
passwordtxt = (TextView)findViewById(R.id.pass_txt);
mAuth = FirebaseAuth.getInstance();
mFirestore = FirebaseFirestore.getInstance();
mFirestore.collection("Hospitals")
.document(UserId).get()
.addOnSuccessListener(new OnSuccessListener<DocumentSnapshot>()
@Override
public void onSuccess(DocumentSnapshot documentSnapshot)
String user_name = documentSnapshot.getString("email");
String password = documentSnapshot.getString("password");
email.setText(user_name);
passwordtxt.setText(password);
);
【问题讨论】:
@SantanuSur 它不属于你,因为你可以复制......mAuth
为空 @GowthamanM 它显然是重复的!
@SantanuSur 是的,我知道..但是你可以复制不是 android 相关的标签。
如果没有添加适当的标签,问题应该用那个标签编辑,然后应该这样标记!! @GowthamanM
【参考方案1】:
将您的 onCreate
方法代码更改为:
protected void onCreate(Bundle savedInstanceState)
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_my_account);
email = (TextView)findViewById(R.id.email_txt);
mAuth = FirebaseAuth.getInstance();
UserId = mAuth.getCurrentUser().getUid();
passwordtxt = (TextView)findViewById(R.id.pass_txt);
mFirestore = FirebaseFirestore.getInstance();
mFirestore.collection("Hospitals").document(UserId).get().addOnSuccessListener(new OnSuccessListener<DocumentSnapshot>()
@Override
public void onSuccess(DocumentSnapshot documentSnapshot)
String user_name = documentSnapshot.getString("email");
String password = documentSnapshot.getString("password");
email.setText(user_name);
passwordtxt.setText(password);
);
【讨论】:
兄弟,我找不到你的代码和我的代码有什么区别 只需将其复制并粘贴到您的代码中,您就会发现它...如您所见 mAuth = FirebaseAuth.getInstance();使用前必须先初始化... @SharmaBlog 您需要获取第一个实例 mAuth = FirebaseAuth.getInstance() 然后获取用户 ID UserId = mAuth.getCurrentUser().getUid(); 仔细检查.. 谢谢,兄弟,它正在工作 @SharmaBlog 欢迎...快乐编码.. :) 赞成票将被 appiricated..以上是关于我想从firestore检索当前记录的用户数据,但这显示错误[重复]的主要内容,如果未能解决你的问题,请参考以下文章
如何在 UIPickerView 中加载从 Firestore 检索到的数据?
Vue:检索 Firestore 数据以显示用户的企业名称 v-for 循环