毕加索中的Firebase新版本getDownloadUrl无法正常工作

时间:2018-08-23 09:47:39

标签: android firebase firebase-realtime-database

saveUrlToCategory(categoryIdSelect,taskSnapshot.getDownloadUrl().toString(),textname, textdescription);

getDownlaodUrl不起作用。我需要将其保存在firebase数据库中,然后将其显示在毕加索中。我该如何工作?

1 个答案:

答案 0 :(得分:1)

UploadTask uploadTask = FirebaseStorage.getInstance().getReference().child(user.getUid()).child("avatar").child(avatarName)
                            .putFile(uri);
                    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 FirebaseStorage.getInstance().getReference().child(user.getUid()).child("avatar").child(avatarName).getDownloadUrl();
                        }
                    }).addOnCompleteListener(new OnCompleteListener<Uri>() {
                        @Override
                        public void onComplete(@NonNull Task<Uri> task) {
                            if (task.isSuccessful()) {


                                Uri downloadUri = task.getResult();
                                String downloadUrl = downloadUri.toString();
                                childRef.child("avatar")
                                        .setValue(downloadurl);
                                     // Or in your case it is: 
                             saveUrlToCategory(categoryIdSelect,downloadUrl,textname, textdescription);


                            } else {
                                Log.e("FirebaseError:", "Error");
                            }
                        }
                    });