firebase android studio 上的数据当前用户
data currect user on firebase android studio
我尝试用 Android Studio 做一个应用程序,但我有一个问题需要帮助。
如果我使用用户进入应用程序 - 例如用户 levana(我使用电子邮件和密码登录到 levana 用户)
现在我想知道我当前的用户信息(如电子邮件、名字、密码)我该怎么做?写什么?
还有更多问题,如果我想知道 levana 是否是一种 'Help' 用户,我该怎么做?写什么?
谢谢
我给这个问题添加了图片,不需要代码,因为我看到我只需要使用 firebase 和数据库的命令声明和函数
编辑:
DatabaseReference db =
FirebaseDatabase.getInstance().getReference();
DatabaseReference emailRef =db.child("Users").child("Help").child(FireLog.getCurrentUser().getEmail().replaceAll("\.", ","));
Log.e("Stringvalueschec", "" +emailRef.toString());
DatabaseReference emailRef = db.child("Users").child("Help").child(FireLog.getCurrentUser().getEmail().replaceAll("\.", ","));
Log.e("Stringvalueschec", "" +emailRef.toString());
Log.e("Stringvalueschec", "" +emailRef);
emailRef.get().addOnCompleteListener(new OnCompleteListener<DataSnapshot>() {
@Override
public void onComplete(@NonNull Task<DataSnapshot> task) {
if (task.isSuccessful()) {
DataSnapshot snapshot = task.getResult();
Configs.Pref_Email=snapshot.child("email").getValue(String.class);
Configs.Pref_Email_Commas=snapshot.child("email").getValue(String.class).replaceAll("\.", ",");;
Configs.Pref_First_Name= snapshot.child("firstName").getValue(String.class);
Configs.Pref_Last_Name= snapshot.child("lastName").getValue(String.class);
Configs.Pref_Phone=snapshot.child("Phone").getValue(String.class);
Configs.Pref_Password= snapshot.child("password").getValue(String.class);
Log.e("Stringvalueschec", "" + Pref_Email + " " + Pref_Email_Commas + " " + Pref_First_Name + " " + Pref_Last_Name + " " + Pref_Phone+ " " + Pref_Password);
} else {
Log.d("TAG", task.getException().getMessage()); //Don't ignore potential errors!
}
}
});
根据您的评论,要获取 levana@gmail,com
下的数据,您必须创建一个精确指向 levana@gmail,com
节点的引用并在其上附加一个侦听器。所以请使用以下代码行:
DatabaseReference db = FirebaseDatabase.getInstance().getReference();
DatabaseReference emailRef = db.child("Users").child("Help").child("levana@gmail,com");
emailRef.get().addOnCompleteListener(new OnCompleteListener<DataSnapshot>() {
@Override
public void onComplete(@NonNull Task<DataSnapshot> task) {
if (task.isSuccessful()) {
DataSnapshot snapshot = task.getResult();
String email = snapshot.child("email").getValue(String.class);
Log.d("TAG", email); //Will print levana@gmail.com
String firstName = snapshot.child("firstName").getValue(String.class);
Log.d("TAG", firstName); // Will print levana
String lastName = snapshot.child("lastName").getValue(String.class);
Log.d("TAG", lastName); // Will print ezra
String password = snapshot.child("password").getValue(String.class);
Log.d("TAG", password); // Will print 123123
String parent = snapshot.getRef().getParent()
Log.d("TAG", parent); // Will print Help
} else {
Log.d("TAG", task.getException().getMessage()); //Don't ignore potential errors!
}
}
});
我尝试用 Android Studio 做一个应用程序,但我有一个问题需要帮助。
如果我使用用户进入应用程序 - 例如用户 levana(我使用电子邮件和密码登录到 levana 用户)
现在我想知道我当前的用户信息(如电子邮件、名字、密码)我该怎么做?写什么? 还有更多问题,如果我想知道 levana 是否是一种 'Help' 用户,我该怎么做?写什么?
谢谢
我给这个问题添加了图片,不需要代码,因为我看到我只需要使用 firebase 和数据库的命令声明和函数
编辑:
DatabaseReference db =
FirebaseDatabase.getInstance().getReference();
DatabaseReference emailRef =db.child("Users").child("Help").child(FireLog.getCurrentUser().getEmail().replaceAll("\.", ","));
Log.e("Stringvalueschec", "" +emailRef.toString());
DatabaseReference emailRef = db.child("Users").child("Help").child(FireLog.getCurrentUser().getEmail().replaceAll("\.", ","));
Log.e("Stringvalueschec", "" +emailRef.toString());
Log.e("Stringvalueschec", "" +emailRef);
emailRef.get().addOnCompleteListener(new OnCompleteListener<DataSnapshot>() {
@Override
public void onComplete(@NonNull Task<DataSnapshot> task) {
if (task.isSuccessful()) {
DataSnapshot snapshot = task.getResult();
Configs.Pref_Email=snapshot.child("email").getValue(String.class);
Configs.Pref_Email_Commas=snapshot.child("email").getValue(String.class).replaceAll("\.", ",");;
Configs.Pref_First_Name= snapshot.child("firstName").getValue(String.class);
Configs.Pref_Last_Name= snapshot.child("lastName").getValue(String.class);
Configs.Pref_Phone=snapshot.child("Phone").getValue(String.class);
Configs.Pref_Password= snapshot.child("password").getValue(String.class);
Log.e("Stringvalueschec", "" + Pref_Email + " " + Pref_Email_Commas + " " + Pref_First_Name + " " + Pref_Last_Name + " " + Pref_Phone+ " " + Pref_Password);
} else {
Log.d("TAG", task.getException().getMessage()); //Don't ignore potential errors!
}
}
});
根据您的评论,要获取 levana@gmail,com
下的数据,您必须创建一个精确指向 levana@gmail,com
节点的引用并在其上附加一个侦听器。所以请使用以下代码行:
DatabaseReference db = FirebaseDatabase.getInstance().getReference();
DatabaseReference emailRef = db.child("Users").child("Help").child("levana@gmail,com");
emailRef.get().addOnCompleteListener(new OnCompleteListener<DataSnapshot>() {
@Override
public void onComplete(@NonNull Task<DataSnapshot> task) {
if (task.isSuccessful()) {
DataSnapshot snapshot = task.getResult();
String email = snapshot.child("email").getValue(String.class);
Log.d("TAG", email); //Will print levana@gmail.com
String firstName = snapshot.child("firstName").getValue(String.class);
Log.d("TAG", firstName); // Will print levana
String lastName = snapshot.child("lastName").getValue(String.class);
Log.d("TAG", lastName); // Will print ezra
String password = snapshot.child("password").getValue(String.class);
Log.d("TAG", password); // Will print 123123
String parent = snapshot.getRef().getParent()
Log.d("TAG", parent); // Will print Help
} else {
Log.d("TAG", task.getException().getMessage()); //Don't ignore potential errors!
}
}
});