2016-04-04 8 views
0

`Ich versuche, E-Mails dynamisch vom Benutzer zu extrahieren, Konten zu erstellen, aber Firebase eine E-Mail Fehler weiterhin Rückkehr ... Ich frage mich, ob es möglich ist, E-Mails dynamisch zu extrahieren oder Sie müssen hart Code der E-Mails und Passwort.Firebase E-Mail-Benutzerauthentifizierung

final EditText email = (EditText)findViewById(R.id.new_email); 
    final String newEmail = email.getText().toString(); 
    final EditText password = (EditText)findViewById(R.id.new_password); 
    final String newPass = password.getText().toString(); 
    final EditText username = (EditText)findViewById(R.id.full_name); 
    final String userName = username.getText().toString(); 


@Override 
     public void onClick(View v){ 
      rootRef.createUser(newEmail,newPass,new Firebase.ValueResultHandler<Map<String,Object>>(){ 
       @Override 
       public void onSuccess(Map<String,Object> result){ 
        rootRef.child("users").child(userName).child("User Name").setValue(userName); 
        rootRef.authWithPassword(newEmail,newPass,new Firebase.AuthResultHandler(){ 
         @Override 
         public void onAuthenticated(AuthData authData){ 
          Intent a = new Intent(CreateAccount.this,userHome.class); 
          startActivity(a); 
         } 
         @Override 
         public void onAuthenticationError(FirebaseError firebaseError){ 
          text1.setText("An error occurred.Please try again"); 
         } 
        }); 
       } 
       @Override 
       public void onError(FirebaseError firebaseError){ 
        Fragment createAccount = new Fragment(); 
        getSupportFragmentManager().beginTransaction().add(R.id.sign_up_fail,createAccount).commit(); 
        switch (firebaseError.getCode()){ 
         case FirebaseError.EMAIL_TAKEN: 
          text1.setText("That Email is already taken"); 
          break; 
         case FirebaseError.INVALID_EMAIL: 
          text1.setText("That Email is invalid"); 
          break; 
         case FirebaseError.NETWORK_ERROR: 
          text1.setText("Network Error.Check your connection."); 
        } 
       } 
      }); 
     } 
    }); 
+1

Bitte senden Sie den Code als Text, nicht als Bild. – SubliemeSiem

Antwort

0

Sie haben, die Fehler Firebase kehrt geschrieben konnte.

Sie haben keine E-Mails oder Passwort codieren, überprüfen ihre Tutorial-Seite für android Benutzerauthentifizierung: https://www.firebase.com/docs/android/guide/user-auth.html

* EDIT *

Hier ist ein Beispiel aus persönlichen Code, der Ihnen helfen kann.

referencia.createUser(email.getText().toString(), senha.getText().toString(), new Firebase.ValueResultHandler<Map<String, Object>>() 
    { 
     @Override 
     public void onSuccess(Map<String, Object> result) 

Ich verwende dies derzeit auf einer voll funktionsfähigen App. Wenn deins nicht funktioniert, könnten Sie Ihre Fehlermeldung senden.

+0

In den Führungen fügen sie die E-Mails von der tatsächlichen E-Mail zu schreiben wie: –

+0

wie: ref.authWithPassword { "[email protected]", "passwordexample", Firebase.ValueResultHandler >() {. ..}} –

+0

Die Eingabe ein String ist, haben Sie es wie jeder Textbereich zu behandeln. – Selhar

Verwandte Themen