Android 从Firebase检索图像不起作用?
从Firebase检索图像不起作用? 嗨,我正在从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
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,这样我就可以获得我的学生徽章。