后台任务工作所有的应用程序生活... Android

时间:2013-12-02 09:39:06

标签: android multithreading

这是一个逻辑问题所以我没有代码。 我的问题是: 我如何运行使网络工作的后台任务(等待来自服务器的消息),同时在消息到达时更新UI! Paradox“Android阻止从另一个非UI线程访问UI”,并“阻止UI线程的网络访问!!!”  重要:我想在应用程序运行时一直运行我的方法,并扫描网络缓冲区,当我收到消息时,我想更新UI和消息列表...

2 个答案:

答案 0 :(得分:0)

这听起来像Service的完美描述。您可以使用IntentService或构建自己的Service(请注意,默认情况下,最后一个不会在新线程中启动)。

还有许多示例如何从服务更新UI(即使用NotificationsBroadcast)。

答案 1 :(得分:0)

Android提供内置类来执行网络操作。为此,您可以使用AsyncTask class。

  

AsyncTask可以正确,轻松地使用UI线程。这个班   允许执行后台操作并在UI上发布结果   线程,而不必操纵线程和/或处理程序。

您可以从Android AsyncTask

获取详细信息

但是如果你想连续检查信息,那么服务是最好的解决方案,因为@AlexS完美地解释了它。