Android:从服务发送请求

时间:2015-11-30 17:45:12

标签: android service android-notifications

我有一个应用程序,其中包含我从服务器获取http请求的数据列表。现在我想在新数据可用时发出通知,我认为可以通过服务来实现。

这是一个好习惯吗?从服务请求的数量是否有任何限制?

我想要实现的是像gmail应用程序。当我收到新电子邮件时,会显示通知。

我希望我的应用尽可能与数据保持同步,但我知道每5秒发出一次请求可能太多了。

我对所有替代方案和各种想法都持开放态度。

1 个答案:

答案 0 :(得分:1)

不确定您是否真的需要每5秒钟提取一次数据。当然,这太过分了。您有两种选择:

  1. 在评论中使用GCM作为@duynt建议。如果您从未使用它,请关注Try cloud messaging for Android。这样您就不必担心在本地管理您的服务,但只要有最新数据,您就会收到通知,这样您就可以发出请求并通知更新。
    GCM需要您必须在您的环境中实施 的应用程序服务器 。此应用程序服务器使用适当的XMPP或HTTP协议通过选定的GCM连接服务器将数据发送到客户端应用程序。快速查看About GCM connection server

  2. 出于任何原因,如果您想从本地Android服务组件中提取数据,您仍然可以这样做。但5秒的频率确实很高。由于设备处于睡眠模式的大部分时间,您必须唤醒设备然后发送请求以提取数据。每5秒唤醒一次设备意味着电池耗尽以及消耗数据 如果您仍希望通过提高频率继续本地服务选项,请确保遵循How to use http in sleep mode并以此方式实施,否则它将无法在深度睡眠模式下工作。

  3. 你现在必须做出决定。