Android - 每5分钟将数据发送到服务器

时间:2017-07-09 18:15:31

标签: android android-service alarmmanager android-intentservice background-service

我的SQLite数据库表中有一些数据。当我的应用程序启动时,我想每5分钟将该数据发送到服务器。

当应用关闭时,它应该停止。

  • 最好的办法是什么?
  • 我应该使用Service还是IntentService
  • 我应该使用AlarmManagerHandler还是其他任何东西?
  • 我知道我的申请速度。我不想让它变慢。什么是有效的方法?

2 个答案:

答案 0 :(得分:0)

如果您只是在应用程序位于前台时进行传输,则可以使用处理程序进行传输 您在onResume()中启动处理程序并在onPause()中取消它。 并使用AsyncTask或单独的线程执行传输。

如果您需要在后台进行传输,则可以使用服务代替并使用AlarmManager进行安排 然后从应用程序的Activity中启动服务。

我不确定如何使用IntentService。

答案 1 :(得分:0)

由于您只想在应用程序处于前台时运行您的进程,因此TimerTask或Handler与Message或Runable结合使用是好的。它不会打扰你的应用程序的性能。如果你问这两个中哪个更好,我会说它是Handler。请在此答案中查看详细信息:

https://stackoverflow.com/a/3975337/4128371

但如果你想要一个非常好的表现,那么我建议你选择AlarmManager。否则Handler是个不错的选择。