正确实施股票价格警报系统的方法

时间:2012-12-14 06:07:21

标签: android

以前,在桌面环境下,实施股票价格警报系统,这就是我的工作。

  1. 产生无限远Thread
  2. 该主题将从股票服务器执行股票价格查询。
  3. 该主题将根据检索到的股票价格执行所有必要的警报操作。
  4. 线程休眠N个时段。 (N可以说是30分钟)
  5. 回到2。
  6. 当涉及到移动环境时,电源效率使用是一个主要考虑因素。即使我使用后退按钮“关闭”应用程序,库存警报机制也应该继续运行。

    我想出了两种方法。

    使用服务

    1. 产生无限远Service
    2. 该服务将从股票服务器执行股票价格查询。
    3. 该服务将根据检索到的股票价格执行所有必要的警报操作。
    4. 服务休眠N个时段。 (N可以说是30分钟)
    5. 回到2。
    6. 使用AlarmManager

      1. BroadcastReceiver
      2. 中安装AlarmManager
      3. BroadcastReceiver的onReceive将在下一个N期间被触发。
      4. 当触发BroadcastReceiver时,从股票服务器执行股票价格查询。
      5. BroadcastReceiver将根据检索到的股票价格执行所有必要的警报操作。
      6. onReceive返回之前,请在BroadcastReceiver中为下一个N期安装另一个AlarmManager
      7. 我在想,哪种方式更好?除了两种方式之外还有更好的方法吗?在我看来AlarmManager更好,因为我们不需要长时间睡觉,这似乎是浪费资源?

1 个答案:

答案 0 :(得分:1)

使用AlarmManager触发BroadcastReceiver,然后让BroadcastReceiver开始IntentService

BroadcastReceiver不应该执行任何长时间运行的任务,但它可以启动Service来完成工作。 IntentService(扩展Service)将在工作线程上工作,然后自行终止。

请参阅IntentService

Extending the IntentService class

换句话说,您可以将两种方式结合使用,但不会持续运行Service