android - 从 Firebase 中检索图像和文本
问题描述
我要创建一个 android 应用程序。该应用程序的想法很简单,但由于我是新手,所以在实施过程中遇到了问题。应用名称将是食物描述。
它将包含一个按钮,当您按下按钮时,将显示有关每种食物的图像列表。例如鸡肉、见面等。这些图像应手动存储在 Firebase 中。当我按下任何图像时,它应该会给我关于食物的详细描述。此描述也应手动保存在 firebase 中。
问题是:
- 如何创建包含图像和描述的数据库?
- 如何检索存储的图像列表及其描述?
解决方案
要遵循的步骤:
在 Firebase 中创建一个与您正在构建的 android 项目具有相同包名的项目。
选择项目,然后按照以下步骤存储图像:
- 转到存储。
- 通过单击上传文件将图像添加到商店。
- 完成上传图片后,您将获得每张图片的下载 URL。这就是你需要得到的图像。
进入数据库:
- 创建一个数据库,让我们说
food
。 - 将您想要的食物信息放在数据库中,您需要为每种食物赋予独特的价值。
- 然后对于每种食物,将键值对设置为 {name, image, description}。这里 name 是食物名称,description 是食物描述,对于图像,只需从存储中输入下载 URL。
- 创建一个数据库,让我们说
现在在 Android 项目中。
为食物制作一个 POJO 模型类,如下所示
Class Food {
public String name;
public String Image;
public String description;
public String getName() {
return name;
}
public String getImage() {
return image;
}
public String getDescription() {
return description;
}
}
使用以下代码获取食物列表。
Firebase db = FirebaseDatabase.getInstance().getReference("foods");
mPostReference.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
// Get Post object and use the values to update the UI
Food food = dataSnapshot.getValue(Food.class);
ArrayList<Food> foodsList = new ArrayList<>();
foodsList.add(food);
// ...
}
@Override
public void onCancelled(DatabaseError databaseError) {
// Getting Post failed, log a message
Log.w(TAG, "loadPost:onCancelled", databaseError.toException());
// ...
}
});
您可以使用 Glide 或 picaso 设置图像
像下面
ImageView imageView = (ImageView) findViewById(R.id.my_image_view);
Glide.with(this).load(foodsList.get(index).getImage()).into(imageView);
请按照此处的步骤了解如何将数据从 firebase 嵌入到 RecyclerView
推荐阅读
- spring - 如何使用 Spring 框架加密文档中的所有 MongoDB 字段
- java - 简单动画运行不流畅
- python - 在修改集合时检查集合相等性
- c# - 对您拥有的类型使用扩展方法是否合适?
- swift - 你如何让 UICollectionViewCell 的背景图像到 aspectFit 到旋转的单元格?
- wpf - 如何使用 HelixToolkit 或 3D WPF 从另一个模型中减去一个 Model3D 对象?
- javascript - 为什么传递给构造函数的数组与类不同步?
- android - common.io 库的依赖错误
- xquery - XQuery 函数库组织
- html - 如何定位 CSS 背景图像以不折叠整个网站?