【问题标题】:call periodically a .net webservice from android定期从 android 调用 .net 网络服务
【发布时间】:2012-07-16 14:25:07
【问题描述】:

我有一个 android 应用程序,它调用托管在 asp.net 应用程序中的简单 .asmx Web 服务来获取数据并显示它。 我正在使用 ksoap2,它运行良好,在我调用 webService 的主要活动中。但我的问题是我想每 30 分钟调用一次该 .asmx Web 服务并获取要显示的数据。我已经搜索并找到了 timertask 类,但我不确定它是否适合我想做的事情。 有什么建议么? 非常感谢

【问题讨论】:

    标签: android asp.net web-services ksoap2


    【解决方案1】:

    您应该有一个服务来为您执行此操作,创建一个服务,在该服务中您可以安排一个线程每 30 分钟调用一次您的 Web 服务,即使您的应用程序没有运行。 Here 是关于如何使用服务让您入门的好教程。 this 是关于如何以及何时使用服务的有用链接。请考虑通过单击左侧绿色勾选图标来接受答案。

    【讨论】:

    • 谢谢,我会试试这个解决方案,看看它是否适合我
    【解决方案2】:

    查看计划任务服务:http://developer.android.com/reference/java/util/concurrent/ScheduledExecutorService.html

    它将让您每 x 秒设置一个重复事件,并继续运行该任务,直到您告诉它停止。

    我发现它很容易设置。

    【讨论】:

    • 谢谢您的回答,我有一个问题:如果使用计划任务服务,我的应用即使没有运行也会调用该服务吗?
    • 我使用的方式是在服务中启动,服务停止时停止。正如上面@waqas716 所建议的那样。这样,当应用程序被发送到后台时,服务会继续运行,直到 Android 内存管理选择终止它和/或应用程序。请记住,一旦应用程序被最小化,用户可能不希望它继续下载数据,因此您可能希望在应用程序发送到后台时停止或暂停计划任务。否则,您可能会在他们没有意识到的情况下吃掉用户的数据使用量。
    • 感谢您的帮助,我知道这要求太多,但您能给我一个示例代码吗?
    【解决方案3】:

    很抱歉回答我自己的问题,感谢您的帮助。我找到了解决方案,我关注了this tutorial,并且效果很好。

    希望这会有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-08-23
      • 2016-12-24
      • 1970-01-01
      • 2011-11-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多