1 pièce(s) jointe(s)
Authentification FireBase Android Studio Java
Bonsoir ,
je débute dans le développement Android Studio sous java ,actuellement j'essaye de gérer des interfaces de SignUp/SignIn avec l'authentification Email/Password et la base de donnée temps réel de Firebase, mais j'ai quelques difficultés et j’espère que vous pourriez m'aider.
Au niveau de la création de comptes tout est parfait, les sessions s'affichent sur la console FireBase et les comptes s'ajoutent à la base de donnée par contre j'ai un problème au niveau de la connexion une fois le compte est créé .
Ceci est le code de l'interface Java du Login , l'erreur apparemment se produit dans la méthode OnComplete (ligne 63) , j'ai ajouté une exception dans "else" (à la ligne 73) et je reçoit ce message lorsque j'essaye de me connecter avec un compte déjà crée (j'ai bien vérifié que le mot de passe et le mail sont corrects).
Pièce jointe 516877
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110
| package com.projetdev;
import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ProgressBar;
import android.widget.TextView;
import android.widget.Toast;
import com.google.android.gms.tasks.OnCompleteListener;
import com.google.android.gms.tasks.Task;
import com.google.firebase.auth.AuthResult;
import com.google.firebase.auth.FirebaseAuth;
import com.google.firebase.auth.FirebaseUser;
public class LoginActivity extends AppCompatActivity {
private FirebaseAuth mAuth;
EditText editTextMail;
EditText eTPassword;
Button buttonSignIn;
TextView textViewSignUp;
private ProgressBar progressbar2;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_login);
mAuth = FirebaseAuth.getInstance();
editTextMail =(EditText) findViewById(R.id.editTextMail);
eTPassword =(EditText) findViewById(R.id.eTPassword);
buttonSignIn =(Button) findViewById(R.id.buttonSignin);
textViewSignUp=(TextView) findViewById(R.id.textViewSignUp);
progressbar2=(ProgressBar)findViewById(R.id.progressBar2);
progressbar2.setVisibility(View.GONE);
buttonSignIn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
final String mail1 = editTextMail.getText().toString().trim();
final String pass1 = eTPassword.getText().toString().trim();
if (mail1.isEmpty()){
editTextMail.setError("Veuillez saisir votre mail");
eTPassword.requestFocus();
}
else if (pass1.isEmpty()){
eTPassword.setError("Veuillez saisir votre mot de passe");
eTPassword.requestFocus();
}
else if ((mail1.isEmpty()) && (pass1.isEmpty())){
Toast.makeText(LoginActivity.this, "Les cases sont vides",Toast.LENGTH_SHORT).show();
}
else if (!(mail1.isEmpty()) && !(pass1.isEmpty())){
progressbar2.setVisibility(View.VISIBLE);
mAuth.signInWithEmailAndPassword(mail1,pass1).addOnCompleteListener(LoginActivity.this, new OnCompleteListener<AuthResult>() {
@Override
public void onComplete(@NonNull Task<AuthResult> task) {
progressbar2.setVisibility(View.GONE);
if(task.isSuccessful()){
Toast.makeText(LoginActivity.this, "Connexion réussite", Toast.LENGTH_SHORT).show();
Intent intToHome= new Intent(LoginActivity.this ,HomeActivity.class);
startActivity(intToHome);
}
else {
Toast.makeText(LoginActivity.this, "Erreur de connexion" + task.getException().getMessage(), Toast.LENGTH_SHORT).show();
}
}
});
}
else{
progressbar2.setVisibility(View.GONE);
Toast.makeText(LoginActivity.this, "Erreur", Toast.LENGTH_SHORT).show();
}
}
});
textViewSignUp.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intSignUp = new Intent(LoginActivity.this, AccountCreation.class);
startActivity(intSignUp);
}
});
}
@Override
public void onStart() {
super.onStart();
FirebaseUser currentUser = mAuth.getCurrentUser();
if ( currentUser != null){
Toast.makeText(LoginActivity.this, "Vous etes connecté(e)s", Toast.LENGTH_SHORT).show();
Intent i = new Intent(LoginActivity.this,HomeActivity.class);
startActivity(i);
}
else {
Toast.makeText(LoginActivity.this, "Veuillez vous connectez", Toast.LENGTH_SHORT).show();
}
}
} |
Je joint ci dessous le fichier XML .
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86
| <?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".LoginActivity">
<EditText
android:id="@+id/eTPassword"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="56dp"
android:ems="10"
android:hint="Mot de passe"
android:inputType="textPassword"
android:textSize="24sp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.456"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/editTextMail" />
<Button
android:id="@+id/buttonSignin"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Connectez vous"
android:textSize="24sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.497"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/eTPassword"
app:layout_constraintVertical_bias="0.468" />
<TextView
android:id="@+id/textViewConnexion"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="24dp"
android:text="Connexion"
android:textSize="30sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.119"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.042" />
<EditText
android:id="@+id/editTextMail"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ems="10"
android:hint="Email "
android:inputType="textPersonName"
android:textSize="24sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.454"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.225" />
<TextView
android:id="@+id/textViewSignUp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:hint="Créer un compte"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/buttonSignin"
app:layout_constraintVertical_bias="0.043" />
<ProgressBar
android:id="@+id/progressBar2"
style="?android:attr/progressBarStyle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
app:layout_constraintBottom_toTopOf="@+id/buttonSignin"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.479"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/eTPassword" /> |