2

在我的项目中,我在单独的线程中创建了一些对 servlet 的网络调用,在该线程启动之前,我将一个微调器显示为等待进度。在该网络线程完成之前,waitprogress 会显示在屏幕上,当我收到来自服务器的响应时,我必须显式调用进度条的 dispose() 方法来处理该进度条。因此,每当我在网络强度下降的情况下拨打电话建立 GPRS 连接时,这有点复杂,我发现有时需要大约 2-3 分钟来引发 IO 异常或从我处理 waitprogress、显示错误消息并继续的服务器接收响应。

上述情况很复杂,因为用户不会等待这么长时间才能得到响应。必须有某种方式,每当我调用网络线程并显示进度条时,用户应该能够取消包括网络线程在内的所有操作,返回到以前的状态并在没有连接或连接不良时进行另一个调用。

在这里,我使用的是 Lwuit。

4

1 回答 1

2

在 NetworkManager 类中,您可以添加此功能并从您的类中激活

只有当 lwuit 在您的应用程序中打开代码时,您才能添加此功能:

 public void killAll() {
            for (int i = 0; i < pending.size(); i++) {
                ((ConnectionRequest) pending.elementAt(i)).kill();
            }
            pending.removeAllElements();
            for (int i = 0; i < networkThreads.length; i++) {
                networkThreads[i].currentRequest.kill();
            }
        }

在此之后或之前,您需要调用 dispose() 方法。

于 2012-12-20T09:38:46.100 回答