这是一个逻辑问题所以我没有代码。 我的问题是: 我如何运行使网络工作的后台任务(等待来自服务器的消息),同时在消息到达时更新UI! Paradox“Android阻止从另一个非UI线程访问UI”,并“阻止UI线程的网络访问!!!” 重要:我想在应用程序运行时一直运行我的方法,并扫描网络缓冲区,当我收到消息时,我想更新UI和消息列表...
答案 0 :(得分:0)
这听起来像Service的完美描述。您可以使用IntentService
或构建自己的Service
(请注意,默认情况下,最后一个不会在新线程中启动)。
还有许多示例如何从服务更新UI(即使用Notifications或Broadcast)。
答案 1 :(得分:0)
Android提供内置类来执行网络操作。为此,您可以使用AsyncTask
class。
获取详细信息AsyncTask可以正确,轻松地使用UI线程。这个班 允许执行后台操作并在UI上发布结果 线程,而不必操纵线程和/或处理程序。
但是如果你想连续检查信息,那么服务是最好的解决方案,因为@AlexS完美地解释了它。