即使应用关闭,也要定期从服务器获取数据

时间:2015-09-24 05:56:28

标签: android android-fragments server

我想从服务器获取数据并定期将其存储在缓存中,即使应用程序已关闭。我不确定这样做的正确方法是什么。我列出了我能想到的可能方式。请让我知道正确或最好的方法。非常感谢任何帮助。

  1. 创建活动并设置重复警报以调用服务。该服务应连接到服务器并下载缓存中的数据。

  2. 从片段中检查上次更新缓存的时间,然后检查数据是否过时,在后台线程中连接到服务器并更新缓存。

2 个答案:

答案 0 :(得分:2)

您可以直接使用IntentService进行频繁更新数据

IntentServiceandroid.app.Service类的子类。声明的意图服务允许处理长时间运行的任务而不影响应用程序UI线程。这不受任何活动的约束,因此不会影响活动生命周期的任何变化。启动IntentService后,它会使用工作线程处理每个Intent,并在失去工作时自行停止。

IntentService将是最佳解决方案,如果您有要处理的工作队列。例如,如果您的应用程序使用分析,您可能会为每个用户生成的事件向跟踪服务器发送事件名称和相关参数。虽然每个事件都意味着一小部分数据,但每次点击创建网络请求都会导致应用程序的开销

实施:Updating Data from Server Using Intent Serive

答案 1 :(得分:0)

请查看Android同步适配器框架。

https://developer.android.com/training/sync-adapters/index.html

希望这有帮助。