如何调用远程方法服务?

时间:2017-04-01 05:29:27

标签: android android-service google-places-api weather android-service-binding

我正在开发应用程序,用户可以添加天气卡来了解城市天气。我可以使用Google商家信息自动填充功能API填充城市。也能够检索所选城市的天气。

但我的问题是天气数据不固定,它会随着时间的推移而变化。那么一旦用户创建了这张天气卡,我怎样才能在后台更新天气数据。我需要在后台进行更新,我想我要使用android服务,但不知道从哪里开始。

1 个答案:

答案 0 :(得分:1)

好的,我只会在这里指导你,没有人会提供完整的代码,我也不会推荐任何人这样做,这是为了你自己的利益。你需要练习和探索android编程世界。所以,这是我的指导方针。

FirebaseJobDispatcher会解决您的问题。在转向FirebaseJobDispatcher之前,您需要创建一个服务类。对于Android中的服务,您应该检查this

让我们谈谈你的service课程。 可以说它是FetchWeatherData类FetchWeatherData将扩展到IntentService并将实现一些方法。在onCreate内,您将编写用于从服务器获取数据的逻辑。从服务器获取数据后,您将存储到Database。在存储到数据库之前,您应该检查数据库中是否有任何记录?如果是,则删除它并将新记录存储在其中。

让我们谈谈你的Activity。让我们说它是ShowWeatherActivity。如果没有记录,您将首先检查数据库中是否有任何记录,然后您将使用FetchWeatherData下载天气数据。然后展示它。

对你的问题的回答可能非常冗长,但我试图解释尽可能多的内容可以帮助你理解同步流。当然,只有阅读这个答案,你的问题才能解决。你需要经历这些概念

  1. Services(在主线程上运行)
  2. 意图服务(在后台运行)
  3. Sqlite(用于存储数据)
  4. 我在回答中添加了有用的链接。跟着他们。我希望这会对你有所帮助。