Ich habe durch die Firebase Dokumentation suchen, sowie Suche auf Stackoverflow, Google und YouTube nach folgenden Kriterien:Android Firebase - Benutzerregistrierung mit Profil-Foto
Erstellen einer Benutzerregistrierung, die für E-Mail, Passwort erlaubt, und Profilfoto.
Ich bin in der Lage, erfolgreich einen Benutzer mit ihrer E-Mail und Passwort hinzufügen, aber ich kann nicht die anderen Informationen in (vor allem dem Profilfoto) zu bekommen scheinen. Alle Tutorials und die Dokumentation zeigen, wie jemand, der BEREITS ein (eingeloggt) Benutzer ist, ein Foto zu Firebase hochladen kann, aber nicht für jemanden, der sich registriert. Kann mir hier jemand helfen, wie kann ich das Profilfoto und den Vor-/Nachnamen mit den neuen Nutzern hochladen?
ich FirebaseAuth bin mit dem Benutzer hinzuzufügen. Diese
ist das, was ich bisher:
checkmarkImage.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
auth.createUserWithEmailAndPassword(emailET.getText().toString(), passwordET.getText().toString())
.addOnCompleteListener(RegisterActivity.this, new OnCompleteListener() {
@Override
public void onComplete(@NonNull Task task) {
Toast.makeText(RegisterActivity.this, "createUserWithEmail:onComplete:" + task.isSuccessful(), Toast.LENGTH_SHORT).show();
//progressBar.setVisibility(View.GONE);
if (!task.isSuccessful()) {
Toast.makeText(RegisterActivity.this, "Authentication failed." + task.getException(),
Toast.LENGTH_SHORT).show();
} else {
startActivity(new Intent(RegisterActivity.this, HomeActivity.class));
finish();
}
}
});
}
});
uploadProfilePhoto.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
handleChooseImage(view);
}
});
}
//END OF onCreate
//Separate methods
//Actually opens the CameraRoll
public void handleChooseImage(View v) {
Intent i = new Intent(Intent.ACTION_PICK, MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
startActivityForResult(i, SELECTED_PICTURE); //then goes to onActivityResult
}
public void handleInsertData(View v) {
}
public void onActivityResult(int requestCode, int resultCode, Intent imageReturnedIntent) {
super.onActivityResult(requestCode, resultCode, imageReturnedIntent);
switch (requestCode) {
case 0:
if(requestCode == RESULT_OK) {
Log.i("RegisterActivity", "case 0");
}
break;
case 1:
if(resultCode == RESULT_OK) {
Uri selectedImage = imageReturnedIntent.getData();
Log.i("RegisterActivity", "selected image = " + selectedImage);
}
break;
}
}
}
Um zu klären, Sie sagen, Sie nicht ein Bild hochladen können, während Sie ein neues Konto registrieren? Nur nachdem der Benutzer bereits in der Datenbank ist und zum Aktualisieren geht? Wenn ja, was macht Ihr vorstehender Code? Dank –
Natürlich können Sie Ihr Bild weiß Benutzer Registrierung, aber normale Weg ist laden zuerst Sie Ihre Registrierung abschließen und dann in Ihrem -onSuccessListner- Upload Bild, Bild-Upload fertig Ones Bild-URL erhalten, und Speichern von Benutzerdaten mit neu Bild-URL hochgeladen Mein Code hat dieselbe Aufgabe für mich erledigt. –
Ich schlage vor, die Benutzeranmeldung zuerst lassen, damit du das Benutzerobjekt bekommen und dann Bild hochladen Speicher mit dieser Benutzer-ID zu Feuerbasis (einzigartige Verbindung für Benutzerprofil Bilder von Feuerbasis Speichern haben) Update für das Benutzerobjekt machen. Das ist es. –