Firebase:没有重复的条目(Android)

时间:2017-10-27 20:30:45

标签: android database firebase firebase-realtime-database firebase-security

我想在Firebase数据库中写入数据。但是应该检查电子邮件,用户名和用户ID是否已经存在。

我发现了类似的东西。但我不明白代码。

Firebase android : make username unique

你可以帮我解决这个问题吗?

非常感谢。

1 个答案:

答案 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