【问题标题】:Storing images from api into room db将图像从 api 存储到房间数据库中
【发布时间】:2019-11-10 21:41:01
【问题描述】:

我想知道将图像和 api 存储到房间数据库中的最佳方式。我正在制作一个运动应用程序,我从 api 接收数据和图像。当我处于在线模式时,图像是使用 api 提供的 url 加载的,但是当我处于离线状态时,应该在离线模式下从数据库中存储和检索图像。我想知道如何将图片的网址转换为图片并在离线模式下加载。

PS : 将保存 100 多张图片,room db 适合吗?谢谢。

【问题讨论】:

  • 能否请您更详细地了解您目前所做的工作?我发现这篇文章提供了有关使用离线数据的更多详细信息:proandroiddev.com/add-offline-support-using-room-ecee194c503e
  • 我的意思是我以前从未尝试过,我也查阅了一些文章,但我没有明白,我不知道也没有找到任何有用的话题,这就是我要求的原因帮助,因为这是我第一次使用房间数据库
  • 使用 picasso 将图像存储在缓存中。
  • @L2_Paver 让它成为答案。

标签: android


【解决方案1】:

使用毕加索将您的图像存储在缓存中

首先将其添加到您的 gradle 中。

implementation 'com.squareup.picasso:picasso:2.71828'

然后您可以从您的网址调用图像并将其存储在缓存中。

Picasso.get().load(YOUR_IMAGE_URL).error(R.drawable.error_img).placeholder(R.drawable.loading_image).into(YOUR_IMAGEVIEW);

Picasso 只会下载一次图像,如果您再次调用相同的 url,它将被重定向到您的缓存而不是再次下载(或多或少)。

注意:检查分析器以查看数据消耗。

【讨论】:

    【解决方案2】:

    继续 L2_Paver 的回答。

    您也可以出于相同目的检查 Glide。您可能需要考虑适合您的目的的每个库的优缺点。这个答案可能会给你一些关于比较的更多见解。 Picasso v/s Imageloader v/s Fresco vs Glide

    【讨论】:

      猜你喜欢
      • 2020-05-20
      • 2022-01-22
      • 2021-10-21
      • 1970-01-01
      • 1970-01-01
      • 2021-01-22
      • 1970-01-01
      • 1970-01-01
      • 2010-12-27
      相关资源
      最近更新 更多