我应该使用哪种类型的Android服务?

时间:2017-04-03 12:10:27

标签: android service

我尝试将服务纳入我的天气应用程序。 假设用户已设置位置(城市列表),并点击“更新”按钮。在我的情况下,此点击由MainActivity捕获。之后,应用程序应从sqlite用户位置读取更新天气数据,循环遍历此位置列表,为每个位置发送请求给天气提供者,解析json并将天气数据放入数据库。成功时,应更新当前视图以显示刚收到的数据。我应该如何在MainActivity和服务之间分离所有这些逻辑,以及我应该使用哪种类型的服务?我认为,它可以是意图服务从提供者获取天气并将其插入数据库,并绑定服务以更新用户布局(视图)。 此外,当我们有天气更新时间表时,应创建一个在后台永久运行的服务,并自动启动天气更新过程。在这种情况下应该使用哪种类型的Android服务?

谢谢。

1 个答案:

答案 0 :(得分:1)

有几种方法。 只是其中一些。

  1. 绑定服务和活动(imho,ugliest)
  2. 在活动和服务之间发送广播意图。日期转移时会出现滞留现象。
  3. 在他们之间发送消息。
  4. 并且,imho,最有用的方式(不存在规范)是将Activity和Service都设置为存储在Application类中的接口(侦听器)。
  5. 顺便说一句,您可以通过单例和应用程序类发送数据。