【问题标题】:Retrieve images and text from firebase从 Firebase 中检索图像和文本
【发布时间】:2020-01-17 01:46:30
【问题描述】:

我要创建一个 android 应用程序。该应用程序的想法很简单,但由于我是新手,所以我在实施中遇到了问题。应用名称将是食物描述。

它将包含一个按钮,当您按下按钮时,将显示有关每种食物的图像列表。例如鸡肉、见面等。这些图像应手动存储在 Firebase 中。当我按下任何图像时,它应该会给我关于食物的详细描述。此描述也应手动保存在 firebase 中。

问题是:

  • 如何创建包含图片和描述的数据库?
  • 如何检索存储的图像列表及其描述?

【问题讨论】:

  • 艾哈迈德,我认为您需要使用实时 Firebase 数据库。它真的很容易使用。本教程对了解 Fireabse 非常有帮助。它已被使用旧库。您需要使用最新版本的库。因此,您将需要更改一些代码。 youtube.com/watch?v=k1RUOexThGs&t=878s 有任何问题请告诉我!快乐的代码!
  • 请提供你到目前为止做了什么。

标签: android firebase firebase-realtime-database


【解决方案1】:

要遵循的步骤:

  1. 在 Firebase 中创建一个与您正在构建的 android 项目同名的项目。

  2. 选择项目,然后按照以下步骤存储图像:

    • 转到存储。
    • 通过单击上传文件将图像添加到商店。
    • 当您完成上传图片后,您将获得每张图片的下载 URL。这就是你需要得到的图像。
  3. 进入数据库:

    • 创建一个数据库,比如说food
    • 将您想要的食物信息放入数据库中,您需要为每种食物赋予一个独特的价值。
    • 然后对于每种食物,将键值对设置为 {name, image, description}。这里name是食物名称,description是食物描述,对于图片,只需从存储中输入下载地址即可。

现在在 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

https://www.youtube.com/watch?v=vpObpZ5MYSE

【讨论】:

  • 非常感谢您的回答。我完成了所有编写的步骤,但是当我尝试编写 POJO 类时出现错误“结构不正确”。而且我不知道其他代码的位置是在按钮中还是在其他地方?以及如何将 firebase 中的记录连接到文本和图像视图。对此感到抱歉,因为我是 android 新手,没有经验。
  • 您需要在活动的OnCreate 方法中调用firebase addValueEventListener 这将为您提供foodsList 数组中的数据,然后您可以将数据放入RecyclerViewListView .
  • 理论上真的看不懂,有视频讲解步骤吗?
  • 我已经更新了我的答案,有一个 URL 可以学习如何在 RecyclerView 中嵌入数据。请调查一下
【解决方案2】:

从数据库菜单中导出您的 firebase 数据结构,导出文件将以 json 格式出现。请记住仅复制该 json 的食物树结构并将其粘贴到 json to pojo convertor 其余内容与 bhuvensh 提到的相同。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-07-26
    • 2016-02-12
    • 1970-01-01
    • 2020-10-23
    • 2017-12-17
    • 2020-08-05
    • 1970-01-01
    相关资源
    最近更新 更多