如何调用远程方法服务?

How to Call Remote Method service?

我正在开发应用程序,用户可以在应用程序中添加天气卡片以了解城市天气。我能够使用 Google 地点自动完成 API 来填充城市并且还能够检索所选城市的天气。

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

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

FirebaseJobDispatcher will fix you problem here. Before moving towards the FirebaseJobDispatcher you need to create a service class. For Services in android you should check this出.

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

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

您的问题的答案可能会很长,但我尽量解释清楚,以帮助您了解同步流。当然,仅阅读此答案并不能解决您的问题。你需要了解这些概念

  1. Services(在主线程上运行)
  2. 意图服务(在后台运行)
  3. Sqlite(用于存储数据)

我在回答中添加了有用的链接。跟着他们。希望对您有所帮助。