2017-12-18 1 views
-4

Ich sah viele Login-Beispiele (zum Beispiel Android Studio Login-Aktivität, Firebase Auth Quickstart Beispiel), dass die Anmeldung und die Anmeldung Schaltflächen sind in der gleichen Aktivität. so verwenden sie die gleichen Felder. und ich frage mich, ob es klar ist, dass wenn Sie auf die Schaltfläche "Anmelden" klicken, Sie ein neues Konto mit der E-Mail und dem Passwort erstellen, die Sie oben eingegeben haben. Link zu einem Screenshot von Anmeldungs ​​Aktivität https://i.stack.imgur.com/U7tBD.jpgAndroid Entwickeln Anmelden und Anmelden in der gleichen Aktivität

+0

Nach meiner Erfahrung würde die "registrieren", um in einer dieser Formen bringen Sie zum zusätzlichen Formulareintrag - zumindest einen Schritt "Passwort bestätigen". – ceejayoz

+0

schlechtes Design, um eine Form mit zwei Tasten zu haben, die verschiedene Verben haben. wenn überhaupt, die Login-Schaltfläche .... dann eine Textansicht an der Unterseite, die sagt nicht registrieren? hier registrieren. wenn sie angeklickt werden, bringt sie sie zu einer neuen Aktivität/Fragment – DroiDev

+0

in einer Aktivität eine Anmeldeseite, nach der Anmeldung => gehe zur Anmeldeseite => gehe dann zur Startseite –

Antwort

0

Nein, ist es nicht klar.

Es wird empfohlen, den Benutzer zu einem neuen Bildschirm zu führen (eine neue Aktivität/ein neues Fragment zu starten), wenn Sie auf die Schaltfläche "Registrieren" klicken. Es wird auch empfohlen, dass Sie zwei Felder für die Passworteinstellung haben, falls die Person das Passwort bei der Anmeldung falsch schreibt (dies könnte dazu führen, dass der Benutzer sich nicht anmelden kann).

0

Es liegt an Ihnen, das klarzustellen. Wenn Sie versehentlich versuchen, den Benutzer anzumelden, wenn Sie auf die Schaltfläche "Registrieren" klicken, wird ein Fehler angezeigt. Wenn Sie jedoch die OnClickListeners für jede Schaltfläche korrekt implementieren (FirebaseAuth.getInstance().signInWithEmailAndPassword(email,password) für die Anmeldung und FirebaseAuth.getInstance().createUserWithEmailAndPassword(email,password) für die Registrierung), dann wird klar sein, was Sie zu tun versuchen.

0

Anmeldung Methode

private void loginMethod() { 
    progressDialog(); // Show your progress dialog if you want to \\ 
    final String email = emailEt.getText().toString().trim(); 
    final String password = passwordEt.getText().toString().trim(); 
    //authenticate user 
    auth.signInWithEmailAndPassword(email, password) 
      .addOnCompleteListener(LoginActivity.this, new OnCompleteListener<AuthResult>() { 
       @Override 
       public void onComplete(@NonNull Task<AuthResult> task) { 
        // If sign in fails, display a message to the user. If sign in succeeds 
        // the auth state listener will be notified and logic to handle the 
        // signed in user can be handled in the listener. 
        if (!task.isSuccessful()) { 
         dismissDialog(); 
         // there was an error 
         if (password.length() < 6) { 
          passwordEt.setError(getString(R.string.err_minimum_password)); 
         } else { 
          Toast.makeText(LoginActivity.this, getString(R.string.err_auth_failed), 
            Toast.LENGTH_LONG).show(); 
         } 
        } else { 

          dismissDialog(); 
          // do your stuff here \\ 


        } 
       } 
      }); 
} 

SignUp Methode

private void signUpMethod() { 
    progressDialog(); 
    final String email = emailEt.getText().toString().trim(); 
    String password = passwordEt.getText().toString().trim(); 
    //create user 
    auth.createUserWithEmailAndPassword(email, password) 
      .addOnCompleteListener(SignUpActivity.this, new OnCompleteListener<AuthResult>() { 
       @Override 
       public void onComplete(@NonNull Task<AuthResult> task) { 

        // If sign in fails, display a message to the user. If sign in succeeds 
        // the auth state listener will be notified and logic to handle the 
        // signed in user can be handled in the listener. 

        if (!task.isSuccessful()) { 

         dismissDialog(); 

        } else { 

         // do your stuff here \\ 

        } 
       } 
      }); 
} 

rufen Sie einfach diese Methoden auf Schaltfläche klicken Ereignis-Listener