Java Firebase存储“;检索长期存在的下载URL“;现在不推荐使用getDownloadUrl()

Java Firebase存储“;检索长期存在的下载URL“;现在不推荐使用getDownloadUrl(),java,android,firebase,firebase-storage,Java,Android,Firebase,Firebase Storage,更新到后,此getDownloadUrl()方法显示已弃用 'com.google.firebase:firebase存储:15.0.2' 在官方网站上没有别的方法可以实现url,那么有什么方法可以实现url的非弃用方式呢 /** @deprecated */ @Deprecated @Nullable public Uri getDownloadUrl() { StorageMetadata var1; return (var1 = this.getMetadata()) !=

更新到后,此
getDownloadUrl()
方法显示已弃用

'com.google.firebase:firebase存储:15.0.2'

在官方网站上没有别的方法可以实现url,那么有什么方法可以实现url的非弃用方式呢

/** @deprecated */
@Deprecated
@Nullable
public Uri getDownloadUrl() {
    StorageMetadata var1;
    return (var1 = this.getMetadata()) != null ? var1.getDownloadUrl() : null;
    }
}

文件中说:

StorageMetadata
类的
getDownloadUrl()
getDownloadUrl()
方法现在已不推荐使用。使用
StorageReference
中的
getDownloadUrl()

因此,您需要使用
StorageReference

public任务getDownloadUrl()

使用可撤销令牌异步检索长期存在的下载URL。这可以用于与其他人共享文件,但如果需要,开发人员可以在Firebase控制台中撤销

更多信息请点击此处:

final-StorageReference filePath=mImageStore.child(“profile_-images”).child(“full_-images”).child(userId+”.jpg”);
filePath.getDownloadUrl().addOnSuccessListener(新OnSuccessListener()){
@凌驾
成功时的公共无效(Uri){
//霍奇拉德位图
上传位图(uri.toString());
}
});强文本

final UploadTask UploadTask=thumb\u file.putBytes(thumb\u bite);
uploadTask.addOnSuccessListener(新的OnSuccessListener(){
@凌驾
成功时公共无效(UploadTask.TaskSnapshot TaskSnapshot){
//Url负载
taskSnapshot.getStorage().getDownloadUrl().addOnSuccessListener(新OnSuccessListener()){
@凌驾
成功时的公共无效(Uri){
Map imageUrls=新建HashMap();
放置(“图像”,fullImageUrl);
put(“thumb_image”,uri.toString());
//在数据库中
mAlarmsDatabaseReference.updateChildren(ImageURL).addOnCompleteListener(新的OnCompleteListener(){
@凌驾
未完成的公共void(@NonNull任务){
//Progressbar beende+Bild wieder Anzigen
progressBar.setVisibility(View.GONE);
circleProfilePicture.setVisibility(View.VISIBLE);
if(task.issusccessful()){
Toast.makeText(SettingsActivity.this,getResources().getString(R.string.ProfilbildUpdate),Toast.LENGTH\u SHORT.show();
}否则{
Toast.makeText(SettingsActivity.this,“FAILED”,Toast.LENGTH_SHORT.show();
}
}
});
}
});
}
});

final UploadTask UploadTask=thumb\u file.putBytes(thumb\u-bite); uploadTask.addOnSuccessListener(新的OnSuccessListener(){ @凌驾 成功时公共无效(UploadTask.TaskSnapshot TaskSnapshot){

//Url已加载
taskSnapshot.getStorage().getDownloadUrl().addOnSuccessListener(新OnSuccessListener()){
@凌驾
成功时的公共无效(Uri){
Map imageUrls=新建HashMap();
放置(“图像”,fullImageUrl);
put(“thumb_image”,uri.toString());
//在数据库中
mAlarmsDatabaseReference.updateChildren(ImageURL).addOnCompleteListener(新的OnCompleteListener(){
@凌驾
未完成的公共void(@NonNull任务){
//Progressbar beende+Bild wieder Anzigen
progressBar.setVisibility(View.GONE);
circleProfilePicture.setVisibility(View.VISIBLE);
if(task.issusccessful()){
Toast.makeText(SettingsActivity.this,getResources().getString(R.string.ProfilbildUpdate),Toast.LENGTH\u SHORT.show();
}否则{
Toast.makeText(SettingsActivity.this,“FAILED”,Toast.LENGTH_SHORT.show();
}
}
});
}
});
}
});

能否具体说明您使用的firebase存储的版本?我在15.0.0中的StorageReference中看不到这一点。更新了问题。您能否共享指向表示其已弃用的文档的链接。还有一个关于如何在存储参考中使用getDownloadUrl的示例,这里有说明,谢谢!您可以使用
tasksnashot.getStorage().getDownloadUrl()
从任务中检索StorageReference。请编辑您的答案。格式化代码块并添加一些说明。其他明智的回答可能会被版主删除。
  final StorageReference filePath = mImageStore.child("profile_images").child("full_image").child(userId + ".jpg");
                filePath.getDownloadUrl().addOnSuccessListener(new OnSuccessListener<Uri>() {
                    @Override
                    public void onSuccess(Uri uri) {
                        //Bitmap hochladen
                        uploadBitMap(uri.toString());
                    }
                });strong text
final UploadTask uploadTask = thumb_file.putBytes(thumb_bite);
        uploadTask.addOnSuccessListener(new OnSuccessListener<UploadTask.TaskSnapshot>() {
            @Override
            public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) {

                //Url laden
                taskSnapshot.getStorage().getDownloadUrl().addOnSuccessListener(new OnSuccessListener<Uri>() {
                    @Override
                    public void onSuccess(Uri uri) {
                        Map imageUrls = new HashMap();
                        imageUrls.put("image", fullImageUrl);
                        imageUrls.put("thumb_image", uri.toString());
                        //In database
                        mAlarmsDatabaseReference.updateChildren(imageUrls).addOnCompleteListener(new OnCompleteListener<Void>() {
                            @Override
                            public void onComplete(@NonNull Task<Void> task) {
                                //Progressbar beende + Bild wieder anzeigen
                                progressBar.setVisibility(View.GONE);
                                circleProfilePicture.setVisibility(View.VISIBLE);

                                if(task.isSuccessful()){
                                    Toast.makeText(SettingsActivity.this, getResources().getString(R.string.ProfilbildUpdate), Toast.LENGTH_SHORT).show();
                                }else{
                                    Toast.makeText(SettingsActivity.this, "FAILED", Toast.LENGTH_SHORT).show();
                                }
                            }
                        });
                    }
                });
            }
        });
            //Url laden
            taskSnapshot.getStorage().getDownloadUrl().addOnSuccessListener(new OnSuccessListener<Uri>() {
                @Override
                public void onSuccess(Uri uri) {
                    Map imageUrls = new HashMap();
                    imageUrls.put("image", fullImageUrl);
                    imageUrls.put("thumb_image", uri.toString());
                    //In database
                    mAlarmsDatabaseReference.updateChildren(imageUrls).addOnCompleteListener(new OnCompleteListener<Void>() {
                        @Override
                        public void onComplete(@NonNull Task<Void> task) {
                            //Progressbar beende + Bild wieder anzeigen
                            progressBar.setVisibility(View.GONE);
                            circleProfilePicture.setVisibility(View.VISIBLE);

                            if(task.isSuccessful()){
                                Toast.makeText(SettingsActivity.this, getResources().getString(R.string.ProfilbildUpdate), Toast.LENGTH_SHORT).show();
                            }else{
                                Toast.makeText(SettingsActivity.this, "FAILED", Toast.LENGTH_SHORT).show();
                            }
                        }
                    });
                }
            });
        }
    });