2

我的应用程序中有数据,必须根据网络可用性在服务器上进行更新。我使用 sqlite 将这些数据存储在 android 上的本地数据库中。目前的想法是:

  1. 数据应插入本地 sqlite 数据库
  2. 插入数据后,服务应该等待它检查网络可用性并将其发送到服务器并等待成功响应。
  3. 如果从服务器收到响应 true,它应该更新该 sqlite 行的同步状态并移动到下一行以发送数据。

我想找到将这些数据排队以将其发送到服务器的最佳方式,此外,当网络不可用时,此队列应该停止向服务器发送数据。由于 java 中有很多可用的队列,哪个队列最适合保存这些数据。由于数据可以增长到任何无限大小。这就像一个生产者 - 消费者问题,但解决它的最有效方法是什么。

提前致谢。

4

1 回答 1

0

当它已经存储在本地数据库中时,为什么要将这些数据存储在队列中?我的意思是如果您的应用程序关闭然后队列中的数据丢失会发生什么。只需编写一个服务来检查本地数据库是否有新条目。如果有新条目,请尝试将它们推送到网络服务器。

于 2013-02-19T07:47:49.303 回答