我正在为Android创建此应用程序,我需要在离线环境中运行该应用程序。在某些时候,用户将在线并将他的数据与服务器同步以下载更改,然后在他离线时仍然使用应用程序。 情况是这样的:用户登录和应用程序检查与互联网,该帐户确实存在,如果该帐户存在它将下载用户数据,如信息和个人资料图片。应用程序和服务器之间的通信与改造创造,所以服务器返回一个像这样的JSON:如何在Android上使用离线管理远程图片?
{
"data":{
"username": "John Doe",
"avatar": {
"original" : "http://url/to/picture.jpg",
"p35x35" : "http://url/to/picture.jpg" }
}
}
,我认为转换到JSON对象并将其存储在数据库中。 (如果您在JSON上看到任何错误,请不要担心,我自己写的)。情况与图片一样,它们以互联网URL的形式出现,但我需要将其存储在本地,我无法在数据库中保存URL链接。我不知道哪个是我应该做的最好的方式。我已经考虑很多方面,但我不喜欢他们,我不知道他们很好,我不知道这是最好的办法:
1 - 使用毕加索的缓存处理,我不喜欢这个选项,因为缓存可以被删除,我相信毕加索更倾向于在线应用程序,有时可能离线,但大部分时间都在线。
2 - 每一张照片下载到本地文件夹,用他的SHA1或MD5将其重命名和名称设置为数据库作为“原始”和“p35x35”领域。
3 - 具有相同路径本地存储的图片,因为他们是在互联网上,EX-“存储/模拟/。应用/ .images/URL /到/ picture.jpg”
感谢,这是一个不错的主意,我会选择下载远程图像和计算URL的MD5和保存与该名称的文件,如果情况发生了变化网址会改变这样的MD5将是不同的 – Ramin