如何在等待服务器响应时处理初步模型?

时间:2016-02-06 00:34:47

标签: android validation user-interface model server-response

在我使用的Android应用中,模型全局存储,活动会收到有关创建,更新和删除模型等更改的通知。在收到服务器响应后调用相应的回调。

有一个主要活动列出了模型,另一个活动用于创建新模型。从那里,用户可以填写几个字段并单击“保存”。这会触发服务器请求以创建新模型。获得响应后,服务器中的验证模型将添加到全局集合中,并执行通知回调。问题是在等待响应时该怎么做。

  1. 我们可以阻止用户界面显示一个微调器。但这不是很敏感,导致用户体验不佳。
  2. 我们可以添加一个本地初步模型,并将其添加到全局集合并触发通知回调。这将允许主活动将其添加到列表中。在响应之后,我们根据请求的成功或失败更新或删除初步模型。但是,初步模型还没有其ID,因此很难在集合中找到更新或删除。
  3. 在此方法的基础上,我们可以为初步模型分配随机初步ID。但是,如果用户已经与新模型进行交互,则可能会创建使用错误的初始ID的定义不明的请求。
  4. 我们如何在以明确和响应的方式等待服务器响应的同时处理多个活动中的初步模型?

1 个答案:

答案 0 :(得分:1)

2中的最佳答案是让客户创建ID。不要使用序列中的连续ID。使用128位的随机UUID。然后客户端可以随机创建一个新的ID,几乎没有失败的机会。

如果虚拟0不够好,请让客户端创建临时ID。然后让服务器接受该ID,或者发送包含临时和永久ID的响应,以便客户端可以将临时ID重新映射到新值。在客户端和服务器上创建之间发出的请求可以由客户端重新发送,也可以由服务器重新映射。

虽然真的 - 一个128位的随机ID几乎没有机会击中一个骗局,你不必担心它。地球上的每个人都可以创造十亿个模型,并且在下一次尝试时碰撞的机会不到十亿分之一。