我想使用我的应用程序中的项目ID获取Firebase存储中文件的下载URL,因为我已根据这些ID在Firebase存储中命名了文件。但是我在格式化发送到服务器的名称以实际指向这些文件时遇到问题。
这是我的存储文件名的样子
这就是我试图指出的方式
String id = getIntent().getStringExtra("id");
//value of id in this case is 1
storageReference.child(String.valueOf(id) +".mp3").getDownloadUrl().addOnSuccessListener(new OnSuccessListener<Uri>() {
@Override
public void onSuccess(Uri uri) {
String url = uri.toString();
Toast.makeText(DetailActivity.this, url,Toast.LENGTH_LONG).show();
}
}).addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception e) {
Toast.makeText(DetailActivity.this, "bad",Toast.LENGTH_LONG).show();
}
});
,logcat会说“未找到。无法获取对象”
但是在我这样做时可以工作
String id = getIntent().getStringExtra("id");
//value of id in this case is 1
storageReference.child("1.mp3").getDownloadUrl().addOnSuccessListener(new OnSuccessListener<Uri>() {
@Override
public void onSuccess(Uri uri) {
String url = uri.toString();
Toast.makeText(DetailActivity.this, url,Toast.LENGTH_LONG).show();
}
}).addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception e) {
Toast.makeText(DetailActivity.this, "bad",Toast.LENGTH_LONG).show();
}
});