【问题标题】:Fetching images from API and stroring into room databse从 API 获取图像并存储到房间数据库中
【发布时间】:2020-05-20 00:04:36
【问题描述】:

我对 Android 开发非常陌生。我正在使用改造从 Flicker API 接收图像和数据,并将其显示到我的 recyclerview 中。当我在线时,使用 API 提供的 URL 将图像加载到 imageview 中,但现在我想将图像和数据存储到房间数据库中以离线工作 recyclerview(如 Instagram)。当互联网重新上线时,它应该用更多图像刷新回收站视图。

请帮忙。

【问题讨论】:

  • 使用磁盘缓存存储图片并在应用重新启动时显示
  • 使用 glide lib 并使用 diskcache,这将帮助您并完成大量工作。无需使用改造来获取图像。

标签: android api retrofit android-room


【解决方案1】:

如果您想离线工作,您必须将图像直接存储在数据库中(而不是 URL)。我可以想到两个选择: 将图像存储在设备上,并将文件路径保存在数据库中,然后从数据库中获取文件路径并根据获取的路径在android中打开它。

您还可以将图像作为二进制数据存储在数据库中,并进行相应的解码和编码。

【讨论】:

  • 为了在 MS-SQL 中存储二进制数据,我建议阅读 FILESTREAM。如果你取得任何成功就回来,祝你编码愉快!
  • 嘿,你能帮我把图片从 URL 转换成 byte[ ] 和从 byte 转换成 Bitmap。
  • 此类问题已有答案,例如here
  • 我想将 URL 转换为 byte[ ] 并得到这个 (stackoverflow.com/questions/2295221/…) 答案,但它在 url.openstream() 处出错。
猜你喜欢
  • 1970-01-01
  • 2021-10-21
  • 1970-01-01
  • 2022-01-22
  • 1970-01-01
  • 1970-01-01
  • 2021-01-22
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多