gpt4 book ai didi

java - 下载和存储图像

转载 作者:行者123 更新时间:2023-11-29 11:24:52 26 4
gpt4 key购买 nike

我目前正在使用 fragment ,我的 fragment 之一是“用户个人资料”,登录用户可以在其中编辑和查看自己的个人资料。这个大学项目的要求之一是用户需要能够上传个人资料图片,并且应该将其分配给他们的用户个人资料并保存在服务器上(我目前在 Linux 上使用 Lampp)。我有以下问题:

  1. 当用户使用 Volley 库(Android)上传图像时,是否首先需要将图像的相对/绝对路径保存到 MySQL 数据库,然后使用此信息获取 JSON 格式的图像返回到设备上,它应该缓存在哪里?

  2. 我在网上看到,Volley 库可以在设备上缓存图像和视频,这将有助于数据消耗,因此用户不需要每次再次登录时下载图像。但是,如果用户从 IOS 设备登录应用程序并上传图像,然后返回 Android 设备并登录,该怎么办 - 应用程序需要更新其用户配置文件。

我的想法是,每次将新图像上传到服务器时,上传时间都会添加到数据库中的日期/时间槽中,然后每次存储的时间是 SQlite 数据库和 MySQL 数据库他们打开应用程序,它向MySQL数据库发出请求,请求这个时间字段,如果没有添加图像,那么SQLite时间和刚刚从MySQL数据库中提取的时间将是相同的,所以不需要下载任何图像 - 我想这是一种无需使用大量数据的简单检查方法吗?或者有人可以建议更好的选择。

但是,我上述建议的问题是,例如设备上缓存了 5 个图像,但第 6 个图像是从另一台设备添加的,当我们返回到原始设备时,我们如何只下载新图像?其他 5 个不是都已经在缓存中了吗?

最佳答案

  1. 我认为您需要在数据库中存储的不是图像文件的路径,而是传递到 Volley 中的 URI。然后,当你想显示图像时,通过 Volley 中保存的 URI,它会决定显示缓存的图像或从互联网上传。

  2. 好主意。我认为在你的情况下,你可以只显示 dp 中缓存的数据,然后另外从服务器获取数据,并且它已更改缓存并显示新结果。您还可以实现长轮询、套接字或 GCM 来建立与服务器的连接并立即获取新的更新数据(在实际情况下不是立即但更快,然后“转到应用程序 ->从请求检查服务器端是否有更改” )。

当然,请查看firebase教程考虑在服务器端实现这个东西,并通过立即更新本地缓存数据提供更有趣和更方便的连接。 additional link to video tutroial

关于java - 下载和存储图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38407301/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com