Registrierung mit Firebase

  • 3 Antworten
  • Letztes Antwortdatum
B

Beka1801

Neues Mitglied
0
Hallo Leute,

ich wollte ein Registrierungsfenster machen das die Daten auf die Firebasedatenbank speichert. Allerding beim ausfüllen der Felder bzw. beim Klick auf den Button registrieren werden die Daten nicht gespeichert und auf die Datenbank hochgeladet. Leider finde ich den Fehler nicht. Kann mir wer da helfen bitte?


private EditText userName, userPassword, userEmail;
private Button regButton;
private TextView userLogin;
private FirebaseAuth firebaseAuth;
private TextView registration;

@override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_registrieren);
setupUIViews();

firebaseAuth= FirebaseAuth.getInstance();

regButton.setOnClickListener(new View.OnClickListener() {
@override
public void onClick(View v) {
if(validate()){
//Upload to the Database
String user_email = userEmail.getText().toString().trim();
String user_password = userPassword.getText().toString().trim();

firebaseAuth.createUserWithEmailAndPassword(user_email, user_password).addOnCompleteListener(new OnCompleteListener<AuthResult>() {
@override
public void onComplete(@NonNull Task<AuthResult> task) {
if (task.isSuccessful()) {
Toast.makeText(Registrieren.this, "Registrierung erfolgreich", Toast.LENGTH_SHORT).show();
startActivity(new Intent(Registrieren.this, MainActivity.class));
}else{
Toast.makeText(Registrieren.this, "Registrierung fehlgeschlagen", Toast.LENGTH_SHORT).show();

}
}
});

}
}
});


userLogin.setOnClickListener(new View.OnClickListener() {
@override
public void onClick(View v) {
startActivity(new Intent(Registrieren.this, MainActivity.class));
}
});


}

private void setupUIViews(){
userName = (EditText)findViewById(R.id.etName);
userPassword = (EditText)findViewById(R.id.etPasswort);
userEmail = (EditText)findViewById(R.id.etEmail);
regButton = (Button)findViewById(R.id.btRegistrieren);
userLogin = (TextView)findViewById(R.id.tvLoginBack);

}

private Boolean validate(){
Boolean result = false;

String name = userName.getText().toString();
String password = userPassword.getText().toString();
String email = userEmail.getText().toString();

if(name.isEmpty() && password.isEmpty() && email.isEmpty()){
Toast.makeText(this,"Bitte alle Felder ausfüllen", Toast.LENGTH_SHORT).show();

}else{
result=true;
}
return result;

}
 
Hallo

hast du denn in der Firebase Konsole überhaupt die Authentication für E-Mail & Password eingeschaltet und Konfiguriert? Ohne wird es nicht gehen.

PS. welche Fehlermeldung kommt den in der Logcat?
 
Zuletzt bearbeitet:
Hallo,

Ist bereits alles aktiviert. Die App kommuniziert mit der Datenbank. Es liegt lediglich anscheinend am OnCLickListener vielleicht?

Logcat:
2020-09-30 18:05:38.656 14697-14697/com.example.anmelden I/AssistStructure: Flattened final assist data: 3664 bytes, containing 1 windows, 12 views
2020-09-30 18:06:02.654 14697-14697/com.example.anmelden D/AndroidRuntime: Shutting down VM
2020-09-30 18:06:02.660 14697-14697/com.example.anmelden E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.example.anmelden, PID: 14697
java.lang.NullPointerException: Attempt to invoke virtual method 'android.text.Editable android.widget.EditText.getText()' on a null object reference
at com.example.anmelden.Registrieren.validate(Registrieren.java:87)
at com.example.anmelden.Registrieren.access$000(Registrieren.java:21)
at com.example.anmelden.Registrieren$2.onClick(Registrieren.java:47)
at android.view.View.performClick(View.java:6597)
at android.view.View.performClickInternal(View.java:6574)
at android.view.View.access$3100(View.java:778)
at android.view.View$PerformClick.run(View.java:25885)
at android.os.Handler.handleCallback(Handler.java:873)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:193)
at android.app.ActivityThread.main(ActivityThread.java:6669)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)
2020-09-30 18:06:02.730 14697-14697/com.example.anmelden I/Process: Sending signal. PID: 14697 SIG: 9
 
Sind deine IDs zu den EditTexten richtig?

Denn beim Zugriff / auslesen eines Texte macht er den Fehler. NullPointerExeception.

java.lang.NullPointerException: Attempt to invoke virtual method 'android.text.Editable android.widget.EditText.getText()' on a null object reference

Eine deiner EditText Variablen wird nicht richtig gefunden worden sein.
 

Ähnliche Themen

F
Antworten
1
Aufrufe
2.333
jogimuc
J
T
Antworten
3
Aufrufe
1.236
jogimuc
J
M
Antworten
2
Aufrufe
2.195
jogimuc
J
Zurück
Oben Unten