Как получить и отобразить аватар текущего пользователя с помощью uid?У меня уже есть изображение, подключенное к uid пользователей с помощью uid, но я не уверен, как его восстановить и отобразить.
Вот как я могу загрузить его в Firebase Storage
mProfilePic.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(Intent.ACTION_PICK);
intent.setType("image/*");
intent.setAction(Intent.ACTION_GET_CONTENT);
startActivityForResult(Intent.createChooser(intent, "Select Picture"), GALLERY_INTENT);
}
});
У меня есть пользовательщелкните изображение в отсеке телефона и загрузите это изображение с текущими зарегистрированными пользователями uid.
FirebaseUser user = FirebaseAuth.getInstance().getCurrentUser();
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if(requestCode == GALLERY_INTENT && resultCode == RESULT_OK && data != null && data.getData() != null){
mainImageURI = data.getData();
try {
Bitmap bitmap = MediaStore.Images.Media.getBitmap(getContentResolver(), mainImageURI);
mProfilePic.setImageBitmap(bitmap);
final ProgressDialog proDialog = new ProgressDialog(HomeActivity.this);
proDialog.setTitle("Uploading...");
proDialog.show();
String userUid = FirebaseAuth.getInstance().getCurrentUser().getUid();
UploadTask uploadTask = FirebaseStorage.getInstance().getReference().child("newFolder").child(userUid).putFile(mainImageURI);
uploadTask
.addOnSuccessListener(new OnSuccessListener<UploadTask.TaskSnapshot>() {
@Override
public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) {
}
})
.addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception e) {
}
});
final StorageReference mRef = mStorage.child("Photos").child(mainImageURI.getLastPathSegment());
mRef.putFile(mainImageURI).addOnSuccessListener(new OnSuccessListener<UploadTask.TaskSnapshot>() {
@Override
public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) {
proDialog.dismiss();
Toast.makeText(HomeActivity.this, "Uploaded", Toast.LENGTH_LONG).show();
}
})
.addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception e) {
proDialog.dismiss();
Toast.makeText(HomeActivity.this, "Upload Failed "+e.getMessage(), Toast.LENGTH_LONG).show();
}
})
} catch(IOException e) {
e.printStackTrace();
}
}
}