对象包含引用的java Firestore文档
我已经找了一段时间了,但是找不到我需要的东西。 所以我在我的应用程序中使用Firestore,正如您所看到的,我的数据库中有一个包含字符串和引用的对象。 我访问字符串的方式如下:
String descriptionEx1 = (String) exI.get("description");
要访问图像参考,我使用了:
StorageReference gsReference = (StorageReference) exI.get("image");
然后我想我会把图像下载到位图中:
final long ONE_MEGABYTE = 1024 * 1024;
storRef.getBytes(ONE_MEGABYTE).addOnSuccessListener(new OnSuccessListener<byte[]>() {
@Override
public void onSuccess(byte[] bytes) {
// Data for "images/island.jpg" is returns, use this as needed
//ImageView img = (ImageView)findViewById(R.id.imgEx1);
img = (int) ONE_MEGABYTE;
}
}).addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception exception) {
// Handle any errors
}
});
然而,这里我得到一个错误(DocumentReference不能转换为com.google.firebase.storage.StorageReference),因为我试图将DocReference转换为StorageReference。 但我需要它是storageRef将它转换成位图。。。 还有别的办法吗? 附上我的firestore数据库的截图,以说明我想做什么。 谢谢你的帮助
# 1 楼答案
好的,所以我不再尝试使用引用,而是将数据库中的引用转换为一个字符串,并将图像的url作为值。 然后我简单地查询了这个字符串对象,并使用了Glide,它工作得非常好!:) 所以我猜引用不适用于引用存储,但可能仅适用于其他文档
# 2 楼答案
Firestore不会自动将您拥有的路径转换为} ,使用Firestore中的路径初始化它:
StorageReference
。相反,您必须自己创建StorageReference
,并通过调用^{