【问题标题】:Getting data from server regularly even when the app is closed即使应用程序关闭,也会定期从服务器获取数据
【发布时间】:2015-11-02 00:58:06
【问题描述】:

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

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

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

【问题讨论】:

    标签: android android-fragments server


    【解决方案1】:

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

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

    如果您有工作队列要处理,

    IntentService 将是一个最佳解决方案。例如,如果您的应用程序使用分析,您可能会针对每个用户生成的事件将事件名称和相关参数发送到您的跟踪服务器。尽管每个事件都意味着一小段数据,但在每次点击时创建网络请求都会给您的应用程序带来开销

    实施:Updating Data from Server Using Intent Serive

    【讨论】:

    • 如何让这个服务每隔一小时左右运行一次
    【解决方案2】:

    看看 Android Sync Adapter Framework。

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

    希望这会有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-08-12
      相关资源
      最近更新 更多