【问题标题】:How to Call Remote Method service?如何调用远程方法服务?
【发布时间】:2017-04-01 05:29:26
【问题描述】:

我正在开发应用程序,用户可以在其中添加天气卡以了解城市天气。我可以使用 Google Places Autocomplete API 填充城市,还可以检索所选城市的天气。

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

【问题讨论】:

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


    【解决方案1】:

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

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

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

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

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

    1. Services(在主线程上运行)
    2. Intent-Services(在后台运行)
    3. Sqlite(用于存储数据)

    我在答案中添加了有用的链接。跟着他们。我希望这会对你有所帮助。

    【讨论】:

    • 非常感谢@Zeeshan 提供如此详细的回答。我会让你知道如何思考对我有用。不能谢谢你啊
    • @KiranKoravi 没问题,如果这有帮助,请将其标记为答案
    • 谢谢。它正在工作。我创建了从服务器获取数据并最终将其存储在数据库中的服务。但我只使用过服务。不是 FirebaseJobDispatcher?只有在再次加载活动时才会刷新我的数据。是否可以在不加载 cribuzz 板球实时记分卡之类的活动的情况下刷新数据?
    • 是的,你可以这样做。您将不得不使用TimerTask 查看timertasks
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多