Java Android最佳实践-下载图片

Java Android最佳实践-下载图片,java,android,image,sqlite,android-download-manager,Java,Android,Image,Sqlite,Android Download Manager,您将如何处理此问题: 我的应用程序应该下载不同的图片包(最多包含300个PNG,每个大约20KB),并将图片存储在手机上,这样我就可以显示它们了 我想把图片上传到网上的某个地方,这样我每次都可以更改它们,用户可以欣赏最新的图片。(我上传的图片不是应用程序) 我读到将它们存储在sqlitedb中不是最好的选择 目前我正在将图片存储在应用程序中,但我不知道如何在不需要更新整个应用程序的情况下立即上传和替换所有应用程序中的图片 我不需要代码或其他东西,所以不要把宝贵的时间浪费在这上面,只是一些一般性的

您将如何处理此问题:

我的应用程序应该下载不同的图片包(最多包含300个PNG,每个大约20KB),并将图片存储在手机上,这样我就可以显示它们了

我想把图片上传到网上的某个地方,这样我每次都可以更改它们,用户可以欣赏最新的图片。(我上传的图片不是应用程序) 我读到将它们存储在
sqlite
db中不是最好的选择

目前我正在将图片存储在应用程序中,但我不知道如何在不需要更新整个应用程序的情况下立即上传和替换所有应用程序中的图片


我不需要代码或其他东西,所以不要把宝贵的时间浪费在这上面,只是一些一般性的提示,告诉你在哪里以及如何在线存储图片,以及安卓如何轻松下载图片。

看看Glide或毕加索图书馆。这些都是超级容易使用的线程安全下载的图像

就我个人而言,我只是在imgur上获取/存储图像

如果你想上传一个专用数据库,你必须设置一个。一些常见的有亚马逊、谷歌等,有很多

您可以使用Android从网络下载图像。对于存储图像,您可以选择亚马逊S3或谷歌云存储。

看看答案。在这个答案中,毕加索库用于处理图像下载。毕加索摆脱了大量的编码和测试来处理图像下载

在我正在进行的一个项目中,我们使用AmazonS3来存储我们的图片,它非常可靠,是目前goto解决方案之一

据我所知,Snapchat和其他一些大公司使用S3存储图片! 它也很便宜,而且我相信他们在一定程度上是免费的

是他们的android API指南


我们使用一个叫做amazonS3的服务来处理上传和下载,这减少了很多工作,但我认为这不是一个免费的服务

不确定下载包是否比下载单个图片更好(存档不会为您节省太多空间)

至于你的问题,你可以制作一些API,你可以从你的应用程序中查询,即使是一个托管在某个地方的平面文件,内容不断变化,也可以工作。你的应用程序可以定期检查新地址以下载图片(假设它会更改)


另一种方法是使用推送消息-通过GCM发送推送消息,您的应用程序将收到该消息,通知他们新的可用内容。它甚至可以在应用程序关闭时工作。

通常,最佳实践问题在SO中不太受欢迎,因此最好您至少共享一点代码来展示您迄今为止的尝试。但是无论如何,看看毕加索图书馆,这是一种解决问题的优雅方法。你可以在web或文件系统中上传和保存图像,并在sqllite数据库中保存相应的路径。要更改图片,您可以将其保存在服务器的文件系统中,应用程序可以连接到该文件系统,您可以在该文件系统中进行更改。下载只是在上传过程中从存储在sqlite db中的路径读取图像/缓冲区。我稍后会写信给你。我刚刚完成了一个加载图像并将其保存到缓存中的视图。@EdsonMenegati谢谢你,毕加索库看起来确实像是解决我问题的一部分@宋承宪谢谢,我真的很感激!谢谢你的输入,链接似乎包含了很多关于我的问题的有用信息!是啊,看来毕加索图书馆绝对是解决这个问题的必备品!谢谢你的帮助。你还知道一个免费在线存储图像的选项吗?(如果有…)谢谢你的回答!您能否更具体地说明如何制作此类API以及在何处托管此平面文件?GCM听起来很有趣,这绝对是一个选择。你需要一个服务器来承载它,这取决于你产生的流量,你可能会找到一个免费的。在服务器上放置一个json文件应该不会太贵。或者,您可以用您精通的语言编写一个常规API,但对于这样一个简单的情况来说,这可能有些过头了。