AUTHEN werde ich Daten zur Datenbank hinzufügen, wenn ich mich registrieren, aber ich habe
Firebase .getUID Nullpointer wenn
Java.lang.NullPointerException: Der Versuch, virtuelle Methode aufzurufen ‚java.lang.String com.google.firebase. auth.FirebaseUser.getUid()‘auf einem null-Objekt Referenz
ich versuche, etwas, aber nicht funktionieren
hier ist mein Code
auth = FirebaseAuth.getInstance();
database = FirebaseDatabase.getInstance();
mRef = database.getReference();
FirebaseUser user = auth.getCurrentUser();
userID = user.getUid();
btnSignUp.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
final String fname = etFname.getText().toString().trim();
final String lname = etLname.getText().toString().trim();
final String id_card = etIdCard.getText().toString().trim();
final String email = etEmail.getText().toString().trim();
final String mobile = etMobile.getText().toString().trim();
String password = etPassword.getText().toString().trim();
if (TextUtils.isEmpty(email)){
Toast.makeText(getApplicationContext(), "Enter email address!", Toast.LENGTH_SHORT).show();
return;
}
if (TextUtils.isEmpty(password)){
Toast.makeText(getApplicationContext(), "Enter password!", Toast.LENGTH_SHORT).show();
return;
}
if (TextUtils.isEmpty(fname)){
Toast.makeText(getApplicationContext(), "Enter FirstName!", Toast.LENGTH_SHORT).show();
return;
}
if (password.length() < 8) {
Toast.makeText(getApplicationContext(), "Password too short, enter minimum 8 characters!", Toast.LENGTH_SHORT).show();
return;
}
progressBar.setVisibility(View.VISIBLE);
auth.createUserWithEmailAndPassword(email,password)
.addOnCompleteListener(new OnCompleteListener<AuthResult>() {
@Override
public void onComplete(@NonNull Task<AuthResult> task) {
if (!task.isSuccessful()) {
UserInfo userInfo = new UserInfo(fname,lname,id_card,mobile,email);
mRef.child("users").child(userID).setValue(userInfo);
etFname.setText("");
etLname.setText("");
etIdCard.setText("");
etMobile.setText("");
etEmail.setText("");
Toast.makeText(RegisterActivity.this, "Authentication failed." + task.getException(),
Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(RegisterActivity.this, "Register Successfully" + task.isSuccessful(), Toast.LENGTH_SHORT).show();
progressBar.setVisibility(View.GONE);
finish();
}
}
});
}
});
}
Und jetzt erhalten Sie einen neuen Fehler wie diesen java.lang.NoSuchMethodError: Keine virtuelle Methode zzTt() Z in der Klasse Lcom/google/Firebase/FirebaseApp; oder ihre Superklassen (Erklärung ‚com.google.firebase.FirebaseApp‘ erscheint in /data/app/com.example.androiddev.army31-1/split_lib_dependencies_apk.apk:classes36.dex)
Jetzt kann ich es beheben kompilieren, weil auf gradle nicht gleiche Version
und bekam die gleiche Sache
Dank für die Antwort leider na, wie Ihr Code zu benutzen? Ich bin nicht sicher –
Was ist der Unterschied zwischen einem einzelnen Liner und was er getan hat? Es ist nicht, ist diese grundlegende Java –
finden Sie in der Dokumentation für eine vollständige Arbeits Code in Java [email protected] – Pheonix