我根本想不通这个。假设我已从服务器检索序列化为 JSON 的产品,并且一旦 Android 应用程序接收到产品信息,它就会本地存储在文件系统上,我将如何完成以下操作?
假设我有一个服务器发送的产品列表(例如评价最高的产品或搜索结果等)。我希望能够让服务器只发送当前未存储在设备上的对象的完整 json 数据,否则只发送产品的 id。我可以发送存储在设备上的产品列表,但这显然会违背目的。我也可以只从服务器发回产品 ID 列表,设备可以从那里请求它需要的那些。这需要一个请求并将其转换为多个请求,因此也不理想。这是我目前能想到的仅有的两个选项。
此外,在产品 json 中的 30 个左右的字段中,可能有 1 或 2 个字段发生了变化(价格或评级)。在不发送整个产品或某些字段的情况下如何确定它是否已更改?目前我正在发送带有 json 的 md5 的产品 ID,如果它与设备上的内容匹配,则不要发送,但如果两个哈希值不匹配,则不要发送。同样,我认为这可能是最好的情况,但我不确定。