Получение изображений из Firebase не работает? - PullRequest
0 голосов
/ 02 сентября 2018

Получение изображений из Firebase не работает? Привет, я работаю над загрузкой и получением изображений из Firebase. Но taskSnapshot.getDownlaodUrl в настоящее время устарела. Поэтому я использую альтернативу, как ответили на этот вопрос

taskSnapshot.getDownloadUrl () устарела

но ни одна из этих альтернатив не работает для меня.

 @Override
    public void onActivityResult( int requestCode,int resultcode,Intent data) {
      super.onActivityResult(requestCode,resultcode,data);
        if(requestCode==GALLERY_INTENT&&resultcode==RESULT_OK)
        {  mbar.setVisibility(View.VISIBLE);
            Uri uri=data.getData();
       final   StorageReference fileupload=mStorage.child("Photos").child(uri.getLastPathSegment());
       fileupload.putFile(uri).addOnSuccessListener(new OnSuccessListener<UploadTask.TaskSnapshot>(){
            @Override
             public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) {
              mbar.setVisibility(View.GONE);
                Toast.makeText(MainActivity.this,"Succesfully Uploaded",Toast.LENGTH_SHORT).show();
                Task<Uri> firebaseUri = taskSnapshot.getStorage().getDownloadUrl();
                Picasso.get().load(firebaseUri.getResult.toString()).into(image);

            }
                }
       );

Это мой код для загрузки и извлечения данных.

Выдает ошибку, поскольку задание еще не выполнено

и когда я попробую другую альтернативу

filepath.getDownloadUrl().addOnCompleteListener(new OnCompleteListener<Uri>() {
                            @Override
                            public void onComplete(@NonNull Task<Uri> task) {
                                String downloadUrl = task.getResult().toString();
                              Picasso.get().load(downloadUrl).into(image);
                             }
 });

Это дает мне ошибку Объект не выходит Я делаю ссылку на ребенка для фотографий и пытаюсь восстановить изображение. Может кто-нибудь решить, что не так в этом коде.

1 Ответ

0 голосов
/ 02 сентября 2018
final   StorageReference fileupload=mStorage.child("Photos").child(uri.getLastPathSegment());
UploadTask uploadTask = fileupload.putFile(file);

Task<Uri> urlTask = uploadTask.continueWithTask(new Continuation<UploadTask.TaskSnapshot, Task<Uri>>() {
    @Override
    public Task<Uri> then(@NonNull Task<UploadTask.TaskSnapshot> task) throws Exception {
        if (!task.isSuccessful()) {
            throw task.getException();
        }
        return ref.getDownloadUrl();

    }
    }).addOnCompleteListener(new OnCompleteListener<Uri>() {
        @Override
        public void onComplete(@NonNull Task<Uri> task) {
            if (task.isSuccessful()) {
                Uri downloadUri = task.getResult();
                Picasso.get().load(downloadUri.toString()).into(image);

            } else {
                 // Handle failures
            }
       }
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...