当前位置: 首页 > 知识库问答 >
问题:

如何从Cloud FireStore获取图像数组列表到imageslider

姬旭
2023-03-14
private String imageUrl;
private Integer imagePath;
private ScaleTypes scaleTypes;
private String title;
    db.collection("userimages").get().addOnCompleteListener(new OnCompleteListener<QuerySnapshot>() {
        @Override
        public void onComplete(@NonNull Task<QuerySnapshot> task) {

            for (QueryDocumentSnapshot document : task.getResult()) 
                sliderDataArrayList.add(new SlideModel(document.getData().toString(), ScaleTypes.FIT));
                imageSlider.setImageList(sliderDataArrayList,ScaleTypes.FIT);
            }

        }

我想获得“field”:“images”,它有包含图像URL的字符串的ArrayList,然后将其存储在sliderDataArrayList中。

final List<SlideModel> sliderDataArrayList = new ArrayList<>();

请给我建议一个更好的方法来绕过它或一个这个问题的答案谢谢!

共有1个答案

唐修能
2023-03-14

根据您的评论,因为获取UserImages数组中存在于NHVQAZMI6Cu9Q8BTSMSR文档中的数据的答案,您说它“将非常有用”,那么您就在这里了。

因为我看不到任何包含列表 的类,所以我将为您创建一个:

class DocumentClass {
    public List<String> images;
}

现在要获得所需的数组,我们需要创建一个指向NHVQAZMI6Cu9Q8BTSMSR文档的引用:

FirebaseFirestore rootRef = FirebaseFirestore.getInstance();
CollectionReference userImagesRef = rootRef.collection("userimages");
DocumentReference docRef = userImagesRef.document("NhVqAzmI6Cu9q8BTSMSr");
docRef.get().addOnCompleteListener(new OnCompleteListener<DocumentSnapshot>() {
    @Override
    public void onComplete(@NonNull Task<DocumentSnapshot> task) {
        if (task.isSuccessful()) {
            DocumentSnapshot document = task.getResult();
            if (document.exists()) {
                DocumentClass documentClass = document.toObject(DocumentClass.class);
                List<String> images = documentClass.images;
                imageSlider.setImageList(images, ScaleTypes.FIT);
            } else {
                Log.d(TAG, "No such document");
            }
        } else {
            Log.d(TAG, "get failed with ", task.getException());
        }
    }
});
    null
 类似资料:
  • 问题内容: 我正在寻找从中获取像素数据(以表格形式)的最快方法。我的目标是能够解决像素从使用图像。我发现的所有方法均不执行此操作(大多数方法都返回)。 问题答案: 我只是在玩同一个主题,这是访问像素的最快方法。我目前知道执行此操作的两种方法: 使用的答案中所述的BufferedImage 方法。 通过直接使用以下方式访问像素数组: 如果你要处理大图像并且性能是一个问题,则第一种方法绝对不是可行的方

  • 你好,我试图从Firebase bucket/存储中获取一个图像列表,但调用runApp()时总是得到一个错误代码。下面是与我的问题对应的代码和错误消息。我将非常感谢任何帮助。我试着按照错误消息的建议去做,但最终还是出现了问题。 错误消息:

  • 我有一个url数组,我必须加载所有图像并将其放入图像数组。 我在试这个 但它不起作用。我该怎么做?

  • 问题内容: 我知道2D数组是数组的数组。要获得一行,您可以执行以下操作: 由于每行的大小可以不同,因此我假设它不是内置的,无法从2D数组中获取列。它使我相信您必须执行以下操作: 这样对吗?这是唯一的方法吗? 问题答案: 如果您被限制使用二维数组,那么可以,这就是afaik。但是,可能会帮助您的建议(如果可能): 将数组包装在处理列提取的类中。 祝好运。

  • 我有以下代码: LR是类的列表类型。在这个列表中,我有15个索引,例如在索引[0]中,我有: 现在在这个索引[0]中,我有两个int的变量end 88和start 96 在这个for循环中,我需要做的是: _fts是一个<代码>列表 我有两个错误: 错误31“系统”的最佳重载方法匹配。集合。通用。列表。添加(int)”有一些无效参数 和 错误32参数1:无法从“Lightings\u提取器”转换。

  • 我试图给我的界面一个新的功能,但我遇到了一些障碍。当鼠标移动时,我想放大JLabel上的图像。以下是我的JLabels的外观: 代码一直在继续。我想创建一个函数并将其添加到mouseListener中,这样所有的行为都将相同。我想实现这一点: 但是我不知道我可以使用这个,因为java说我需要图像来创建我的放大图像图标 如何从代码中检索用于打包JLabel的图像。任何帮助都将不胜感激。