Java me 如何在J2me中处理网络线程调用和等待进程?

Java me 如何在J2me中处理网络线程调用和等待进程?,java-me,lwuit,Java Me,Lwuit,在我的项目中,我在单独的线程中创建了一些对servlet的网络调用,在该线程开始之前,我在等待过程中显示了一个微调器。在该网络线程完成之前,waitprogress将显示在屏幕上,当我收到服务器的响应时,我必须显式调用进度条的dispose()方法来处理该进度条。所以,每当我打电话建立GPRS连接,而网络强度下降时,这就有点复杂了。我发现,有时抛出IO异常或从服务器接收响应需要2-3分钟,在服务器上我处理waitprogress,显示错误消息并继续。我没有向waitprogress添加任何can

在我的项目中,我在单独的线程中创建了一些对servlet的网络调用,在该线程开始之前,我在等待过程中显示了一个微调器。在该网络线程完成之前,waitprogress将显示在屏幕上,当我收到服务器的响应时,我必须显式调用进度条的dispose()方法来处理该进度条。所以,每当我打电话建立GPRS连接,而网络强度下降时,这就有点复杂了。我发现,有时抛出IO异常或从服务器接收响应需要2-3分钟,在服务器上我处理waitprogress,显示错误消息并继续。我没有向waitprogress添加任何cancel命令,因为网络调用是使用单独的线程进行的,所以处理waitprogress将允许用户在需要等待用户得到响应的地方进行另一次调用

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


在这里,我使用的是Lwuit

在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();
            }
        }
public void killAll(){
对于(int i=0;i

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

您可以发布一些代码吗?