java - 安卓。手机离线时存储和发送数据

标签 java android post android-asynctask storage

我为 Android 制作了一个应用程序,它监听放置在不同房间的蓝牙信标,并且无论房间里是否有人,它都会将数据存储到服务器。

为了将数据发送到服务器,我使用 AsyncTask 对象,因此每次发送数据时,我只需创建一个新的 AsyncTask 对象并在发送时调用它的 doInBackground() (我确信有很多更好的解决方案)。

到目前为止我的问题:

  1. 当没有互联网连接时,我将数据存储到 ArrayList 中,以便在互联网连接恢复后可以重新发送它。 这种方法将使用大量 RAM,所以我只想知道执行此操作的最佳方法是什么以及应该如何存储数据?

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

最佳答案

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

对于 SQLite,请遵循此 link

对于 Realm,请遵循此 link

希望这能帮助您实现目标。

祝你编码愉快!!!

关于java - 安卓。手机离线时存储和发送数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42705117/

相关文章:

java - JBOSS 中的类加载

php - codeigniter 表单 POST 从 View 到 Controller 中为空

android - java.util.concurrent.ExecutionException : com. android.builder.internal.aapt.v2.Aapt2Exception:Android资源链接失败

android - 切换线性布局

post - 将 bootstrap-datepicker 与 HTMX 结合使用

jquery - 如果在 ASP.NET MVC 中不使用 cassini 进行 jQuery 帖子,则无法成功发布

java - Google 自定义搜索引擎 Java 输出

java - 日出时间计算与谷歌的结果不符

java - cpu使用多线程java

Android Market 和 APK 文件名