Comment rechercher si un nom d'utilisateur existe dans le firebase base de données?
{
users:
{
apple:
{
username : apple
email : apple@xy.com
uid : tyutyutyu
}
mango:
{
username : mango
email : mango@xy.com
uid : erererer
}
}
}
C'est ce que je fais
La CRÉATION de l'UTILISATEUR si checkUsername méthode retourne 0
if(checkFirebaseForUsername(username)==0) {
mAuth.createUserWithEmailAndPassword(email, password)
.addOnCompleteListener(SignUpActivity.this, new OnCompleteListener<AuthResult>() {
@Override
public void onComplete(@NonNull Task<AuthResult> task) {
if (task.isSuccessful()) {
Toast.makeText(getBaseContext(),"inside",Toast.LENGTH_LONG).show();
User newUser = new User();
newUser.setUserId(mAuth.getCurrentUser().getUid());
newUser.setUsername(username);
newUser.setEmailId(email);
try{
mRef.child("users").child(username).setValue(newUser);
}
catch(Exception e){
Toast.makeText(SignUpActivity.this,"error while inserting",Toast.LENGTH_LONG).show();
}
AlertDialog.Builder builder = new AlertDialog.Builder(SignUpActivity.this);
builder.setTitle(R.string.signup_success)
.setPositiveButton(R.string.login_button_label, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
Intent intent = new Intent(SignUpActivity.this, LoginActivity.class);
startActivity(intent);
finish();
}
});
AlertDialog dialog = builder.create();
dialog.show();
} else {
AlertDialog.Builder builder = new AlertDialog.Builder(SignUpActivity.this);
builder.setTitle(R.string.signup_error_title)
.setPositiveButton(android.R.string.ok, null);
AlertDialog dialog = builder.create();
dialog.show();
}
}
Mon checkUsername méthode -
public int checkFirebaseForUsername(String passedUsername){
final int[] flag = {0};
final String myPassedUsername = passedUsername;
Log.e("tag","working now");
//flag[0]=1;
DatabaseReference mTest = FirebaseDatabase.getInstance().getReference();
mTest.child("users").child(passedUsername).addChildEventListener(new ChildEventListener() {
@Override
public void onDataChanged(DataSnapshot dataSnapshot) {
Log.e("tag","checking");
if(dataSnapshot.exists()){
Log.e("tag","exists");
flag[0]=1;
}
}
@Override
public void onCancelled(DataSnapshot datasnapshot){
}
});
if(flag[0]==1)
return 1;
else
return 0;
}
C'est la façon dont je suis l'insertion d'utilisateurs dans mon firebase-base de données et je veux vérifier si un nom d'utilisateur est disponible pour un nouvel utilisateur ou pas.
Donc j'ai besoin de vérifier est-il un utilisateur déjà enregistré avec ce nom d'utilisateur....S'il vous plaît aider j'ai déjà essayé tout ce que je pouvais comprendre après relatives à la documentation fournie sur le site officiel firebase blog mais en vain!!
consultez ce lien gist.github.com/anantn/4323949 @Shubham Chauhan
OriginalL'auteur Shubham Chauhan | 2016-08-20
Vous devez vous connecter pour publier un commentaire.
Que vous venez de vérifier si l'utilisateur est déjà sorties ou non par le code ci-dessous:
Vous pouvez également voir Firebase doc pour les mêmes sur le lien ci-dessous:
Lire les données une seule fois
Oui, il est pris en charge.Il est le dernier des extraits de code de comme Firebase doc.Vous pouvez en mesure de voir le doc date de mise à jour au bas de la page. Et vous pouvez également utiliser
username
au lieu deuserId
.Je viens de mettre à jour ma réponse que pour répondre à l'exigence.Merci pour le tuyau.Je l'ai essayé mais ça ne fonctionne pas.... J'ai mis à jour la question merci de regarder et de les aider!!
OriginalL'auteur pRaNaY