Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/216.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 从Firebase检索图像不起作用?_Android_Firebase_Firebase Storage - Fatal编程技术网

Android 从Firebase检索图像不起作用?

Android 从Firebase检索图像不起作用?,android,firebase,firebase-storage,Android,Firebase,Firebase Storage,从Firebase检索图像不起作用? 嗨,我正在从Firebase上传和检索图像。 但是,taskSnapshot.getDownlaodUrl目前已被弃用。 所以我使用了这个问题中回答的替代方案 但这些选择都不适合我 @Override public void onActivityResult( int requestCode,int resultcode,Intent data) { super.onActivityResult(requestCode,resultc

从Firebase检索图像不起作用? 嗨,我正在从Firebase上传和检索图像。 但是,
taskSnapshot.getDownlaodUrl
目前已被弃用。 所以我使用了这个问题中回答的替代方案

但这些选择都不适合我

 @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);

            }
                }
       );
@覆盖
ActivityResult上的公共void(int请求代码、int结果代码、意图数据){
super.onActivityResult(请求代码、结果代码、数据);
if(requestCode==GALLERY\u INTENT&&resultcode==RESULT\u OK)
{mbar.setVisibility(View.VISIBLE);
Uri=data.getData();
final-StorageReference fileupload=mStorage.child(“照片”).child(uri.getLastPathSegment());
fileupload.putFile(uri).addOnSuccessListener(新的OnSuccessListener(){
@凌驾
成功时公共无效(UploadTask.TaskSnapshot TaskSnapshot){
mbar.setVisibility(View.GONE);
Toast.makeText(MainActivity.this,“成功上传”,Toast.LENGTH_SHORT.show();
Task firebaseUri=taskSnapshot.getStorage().getDownloadUrl();
Picasso.get().load(firebaseUri.getResult.toString()).into(图像);
}
}
);
这是我上传和检索数据的代码

由于任务尚未完成,它会给我错误信息

当我尝试另一种选择时

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);
                             }
 });
filepath.getDownloadUrl().addOnCompleteListener(新的OnCompleteListener(){
@凌驾
未完成的公共void(@NonNull任务){
String downloadUrl=task.getResult().toString();
Picasso.get().load(downloadUrl).into(图像);
}
});
它给我对象不存在的错误 我正在做一个孩子的照片参考,并试图检索图像。 任何人都能解决这段代码中的错误。

final-StorageReference fileupload=mStorage.child(“照片”).child(uri.getLastPathSegment());
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
            }
       }
});
UploadTask UploadTask=fileupload.putFile(文件); Task urlTask=uploadTask.continueWithTask(新的Continuation(){ @凌驾 公共任务(@NonNull Task Task)引发异常{ 如果(!task.issusccessful()){ 抛出task.getException(); } return ref.getDownloadUrl(); } }).addOnCompleteListener(新的OnCompleteListener(){ @凌驾 未完成的公共void(@NonNull任务){ if(task.issusccessful()){ Uri downloadUri=task.getResult(); Picasso.get().load(downloadUri.toString()).into(图像); }否则{ //处理故障 } } });
抛出语句后缺少retrun语句感谢它对我有效。我之前尝试过相同的代码,但我认为检索图像需要时间,我认为它无法检索。请检查问题左侧的勾号,为我做同样的操作。你可以给star,这样我就可以获得我的学生徽章。