我想知道将来自和api的图像存储到房间db的最好方法。我正在制作一个体育应用程序,其中我从api接收数据和图像。当我处于联机模式时,图像是使用api提供的urls加载的,但在脱机模式下,图像应该以脱机模式存储并从数据库中检索。我想知道如何将图像url转换为图像并在脱机模式下加载它。
PS :超过100张图片将被保存,房间数据库适合吗?谢谢。
发布于 2019-11-11 16:46:11
使用picasso将您的图像存储在缓存中
首先将这个添加到您的gradle中。
implementation 'com.squareup.picasso:picasso:2.71828'然后你可以从你的url中调用图片并将其存储在缓存中。
Picasso.get().load(YOUR_IMAGE_URL).error(R.drawable.error_img).placeholder(R.drawable.loading_image).into(YOUR_IMAGEVIEW);毕加索只会下载一次图像,如果你再次调用相同的url,它将被重定向到你的缓存,而不是再次下载(或多或少)。
注意:检查profilier以查看数据消耗情况。
发布于 2020-07-24 09:12:53
继续L2_Paver的回答。
你也可以选择Glide来达到同样的目的。您可能想要考虑每个库的优缺点,以便更好地满足您的目的。这个答案可能会让你对这种比较有更多的了解。Picasso v/s Imageloader v/s Fresco vs Glide
https://stackoverflow.com/questions/58793180
复制相似问题