【发布时间】:2011-11-13 18:03:00
【问题描述】:
我正在计划开发一个通过 TCP 套接字与 PC 程序通信的 Android 应用程序。该应用程序将有几个活动(布局),每个活动代表连接到 PC 的不同物理设备。我想要一个 TCP 套接字,当应用程序首次打开然后在后台运行时连接到 PC 服务器。当用户打开 Device-A 的 Activity 时,TCP 套接字应不断向主机发送请求以获取 Device-A 的状态,然后使用最新数据更新 UI。
我一直在研究运行后台任务的不同可能性,但我不确定在这种情况下哪个选项最好。我的 TCP 操作是否应该在线程上持续运行?我了解 Service 只能用于非阻塞操作,并且我不能保证网络事务会立即进行(尤其是在与网络的连接丢失的情况下)。
如果我要在线程中运行通信,那么提醒 UI 新数据已到达的最佳方式是什么。此外,当用户切换到不同的活动时,提醒线程开始请求有关不同设备的信息的最佳方法是什么?
【问题讨论】:
标签: android multithreading sockets tcp