我想在Firebase数据库中写入数据。但是应该检查电子邮件,用户名和用户ID是否已经存在。
我发现了类似的东西。但我不明白代码。
Firebase android : make username unique
你可以帮我解决这个问题吗?
非常感谢。
答案 0 :(得分:0)
给定的数据库结构用于存储用户详细信息,例如用户名,名称和作业。 user1是用户名。
{
"users" : {
"user1" : {
"job" : "developer",
"name" : "abc"
}
}
}
在活动中使用firebase:
Firebase.setAndroidContext(this);
final Firebase ref = new Firebase("firebase_url");
让uName成为存储用户接受的用户名的字符串。
String uNAme;
检查给定用户是否存在
ref.child("users").child(uName).addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
if(dataSnapshot.exists()){
//username is present in the database
}else{
//username is not present in the databse
}
}
@Override
public void onCancelled(FirebaseError firebaseError)
{
//in onCancelled
}
});
同样可以在onDataChange中检查其他值,如电子邮件等。
dataSnapshot.exists()
如果用户的用户名是uName中的用户名,则在上面的代码段中返回true。
您甚至可以使用addListenerForSingleValueEvent而不是addValueEventListener