2017-03-09 62 views
0

我已经为Android应用程序侦听位于不同房间的蓝牙信号,并将数据存储到服务器,无论是否有人在房间内。Android。在手机处于离线状态时存储和发送数据

发送数据到服务器我使用AsyncTask对象,所以每次我发送数据我只是做一个新的AsyncTask对象,并调用它的doInBackground()我发送的地方(我确定有更好的解)。

我的问题至今:

  1. 当没有互联网连接,我将数据存储到ArrayList中,所以我可以重新发送一次的互联网连接是备份。 这种方法将使用大量的RAM,所以我只想知道最好的方法是什么,以及如何存储数据?

  2. 由于某种原因,AsyncTask没有发送数据时它应该(我基本上做简单的POST请求到服务器)。所以在某些情况下,当互联网连接恢复时,我会通过一个ArrayList获取所有离线数据并将其发送回服务器,但有时它不会发生(我想这与它有关同步AsyncTask)。 那么有没有更安全和一致的POST数据发送到服务器的方式?

回答

1

您可以使用本地存储机制,如SQLite或Realm。

SQLite的遵循这个link

对于境界遵循这一link

希望这将帮助你实现你的目标。

快乐编码!