【问题标题】:android continuos polling ... how?android连续轮询...怎么样?
【发布时间】:2012-06-29 00:30:11
【问题描述】:

我有一个需要不断更新的应用程序。我想创建一个对所有活动执行轮询的作业(服务、线程...?)。即使我不在需要更新的活动中,我也需要更新一些数据。

我不会创建服务,因为实际上我不需要在应用程序关闭时更新它。 你有什么建议? 谢谢 一个。

【问题讨论】:

  • 您的问题不清楚。您具体要完成什么,请详细说明并具体说明。还有What have you tried?

标签: android multithreading service


【解决方案1】:

我认为您将 Activity 与其呈现给用户的数据混淆了。您不会干扰当前不在屏幕上的其他活动。

如果我理解正确,您希望在当前可见任何活动时更新您的活动之间共享的一些数据。

您可以创建一个Service,它又使用一个单独的线程进行轮询。然后,在您希望运行轮询的每个活动中,您在活动的onResume 方法中调用startService,在活动的onPause 方法中调用stopService

还要确保在服务的 onStartCommand 方法结束时使用 returnSTART_STICKY

【讨论】:

  • 服务绝对是要走的路。请阅读developer.android.com/guide/components/fundamentals.html
  • @Craigy 感谢您的回复,对不起,我是初学者。我试着更具体一点。这是一个非常简单的应用程序:有一个用户必须完成的任务列表。每个任务都有一个详细信息页面。

    如果用户在详情页面(或其他页面),我也需要刷新列表。

    您建议使用服务。好的问题,这个服务器可以是 AsyncTask 吗? ...我试试...谢谢。一个。
  • 当然,您可以在服务中使用AsyncTask。见stackoverflow.com/questions/2750664/…
  • 谢谢!我已经完成了……比我想象的要容易。最后一件事,如果我在 List 活动的 onPause 方法上调用 stopService,当我调用 Detail 活动时,服务会停止...?我需要它活着......
  • 是的,您需要在您希望进行轮询的任何活动的onResume 方法中调用startService(并记住将stopService 放在同一活动的onPause 中)。
猜你喜欢
  • 1970-01-01
  • 2012-05-08
  • 2018-10-13
  • 1970-01-01
  • 1970-01-01
  • 2014-01-22
  • 1970-01-01
  • 2018-01-29
  • 2022-10-13
相关资源
最近更新 更多