Как получить и отобразить картинку профиля Android Firebase? - PullRequest
0 голосов
/ 27 сентября 2018

Как получить и отобразить аватар текущего пользователя с помощью 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();
        }
    }
}

Ответы [ 2 ]

0 голосов
/ 27 сентября 2018

сохранить URL-адрес изображения в документе с помощью uid и всех других атрибутов, и вы можете получить изображение, используя библиотеку Glide https://github.com/bumptech/glide

0 голосов
/ 27 сентября 2018

Ведение базы данных, где вы можете сохранить URL-адрес изображения против UID.Затем извлеките свою фотографию профиля, используя этот URL из базы данных

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...