Java 如何从云firestore和firebase存储中检索图像
我可以通过firebase storage中的直接下载链接访问图像。但是,我需要通过存储在cloud firestore中的集合文档(ImageLogs)中的字符串url和名为ImageURL的键来获取图像Java 如何从云firestore和firebase存储中检索图像,java,android,google-cloud-firestore,Java,Android,Google Cloud Firestore,我可以通过firebase storage中的直接下载链接访问图像。但是,我需要通过存储在cloud firestore中的集合文档(ImageLogs)中的字符串url和名为ImageURL的键来获取图像 public class FaceActivity extends AppCompatActivity { TextView date, time, Name1, Name2, Name3, Name4; ImageView imageView; FirebaseAu
public class FaceActivity extends AppCompatActivity {
TextView date, time, Name1, Name2, Name3, Name4;
ImageView imageView;
FirebaseAuth firebaseAuth;
FirebaseFirestore db;
ArrayAdapter<String> adapter;
List<String> spinnerdatalist;
TableLayout tableLayout;
List<String> namelist = new ArrayList<>();
Uri imageuri;
Storage storageref;
DocumentReference documentReference;
String[] value;
String[] temp1;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_face);
date = (TextView) findViewById(R.id.date);
time = (TextView) findViewById(R.id.time);
Name1 = (TextView) findViewById(R.id.name1);
Name2 = (TextView) findViewById(R.id.name2);
Name3 = (TextView) findViewById(R.id.name3);
Name4 = (TextView) findViewById(R.id.name4);
imageView = (ImageView) findViewById(R.id.imageView);
spinnerdatalist = new ArrayList<>();
tableLayout = (TableLayout) findViewById(R.id.tablelayout1);
firebaseAuth = FirebaseAuth.getInstance();
db = FirebaseFirestore.getInstance();
documentReference = db.collection("ImageLogs").document();
FirebaseFirestore db = FirebaseFirestore.getInstance();
DocumentReference user = db.collection("ImageLogs").document();
user.get().addOnCompleteListener(new OnCompleteListener<DocumentSnapshot>() {
@Override
public void onComplete(@NonNull Task<DocumentSnapshot> task) {
if (task.isSuccessful()) {
DocumentSnapshot doc = task.getResult();
String imageURL = doc.getString("ImageURL");
Glide.with(FaceActivity.this)
.load((imageURL))
.into(imageView);
}
}
});
}
}
公共类FaceActivity扩展了AppCompatActivity{
text查看日期、时间、名称1、名称2、名称3、名称4;
图像视图图像视图;
FirebaseAuth FirebaseAuth;
FirebaseFirestore数据库;
阵列适配器;
列表喷丝头数据列表;
表布局表布局;
列表名称列表=新的ArrayList();
Uri-imageuri;
存储参考;
文件参考文件参考;
字符串[]值;
字符串[]temp1;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(右布局、活动面);
日期=(TextView)findViewById(R.id.date);
时间=(TextView)findViewById(R.id.time);
Name1=(TextView)findViewById(R.id.Name1);
Name2=(TextView)findViewById(R.id.Name2);
Name3=(TextView)findViewById(R.id.Name3);
Name4=(TextView)findViewById(R.id.Name4);
imageView=(imageView)findViewById(R.id.imageView);
spinnerdatalist=新的ArrayList();
tableLayout=(tableLayout)findViewById(R.id.tablelayout1);
firebaseAuth=firebaseAuth.getInstance();
db=FirebaseFirestore.getInstance();
documentReference=db.collection(“ImageLogs”).document();
FirebaseFirestore db=FirebaseFirestore.getInstance();
DocumentReference user=db.collection(“ImageLogs”).document();
user.get().addOnCompleteListener(新的OnCompleteListener()){
@凌驾
未完成的公共void(@NonNull任务){
if(task.issusccessful()){
DocumentSnapshot doc=task.getResult();
字符串imageURL=doc.getString(“imageURL”);
使用(FaceActivity.this)滑动
.load((图像URL))
.进入(图像视图);
}
}
});
}
}
请将您的数据库结构添加为屏幕截图。到底是什么工作方式不符合您的预期?您是否收到错误?我没有收到任何错误。图像未加载到我的图像视图堆栈溢出是一个非常低效的调试器,因此请在本地缩小问题范围。例如,如果在“Glide.with(`上设置断点并运行代码,imageURL
是否具有您期望的值?如果复制imageURL
的值并在浏览器中打开该值,它是否显示图像?