如何在android中使用kso​​ap超时?

Urv*_*shi 6 android ksoap2 android-ksoap2

我正在使用kso​​ap2在Android中创建用户注册应用程序.

当我向服务器发送请求并且在10秒内没有响应时,我想用"再试一次"消息提示用户.如果服务器在10秒内响应,我希望程序在没有消息的情况下继续.

我怎样才能做到这一点?在KSoap2中是否有TimerTask或任何Timeout方法?

Kar*_*iya 11

private String METHOD_NAME;
    private String NAMESPACE;
    private String SOAP_ACTION;
    private String URL;
private int TimeOut=3000;//
    private SoapObject so;
    SoapSerializationEnvelope envelope;
    HttpTransportSE androidHttpTransport;
 try
               {      

                      METHOD_NAME = "myutility";
                      NAMESPACE = "http://";
                      SOAP_ACTION = NAMESPACE + METHOD_NAME;
                      Thread.sleep(2000);  
                      SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME);
                      envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
                      envelope.setOutputSoapObject(request);

                      URL = "http://www.example.com";
                      androidHttpTransport = new HttpTransportSE(URL,Time_Out);
                      androidHttpTransport.call(SOAP_ACTION,envelope);
                      so = (SoapObject)envelope.bodyIn;
                      String s=so.toString();
                      //Your processing here
               }
               catch(InterruptedException e)
               {
                   //When timeout occurs handles this....

               }
catch( Exception e )
               {}
Run Code Online (Sandbox Code Playgroud)

  • 你必须使用kso​​ap2库2.5.2与依赖....在ksoap2 2.4库中不支持超时工具...你可以从[这里]下载它(http://www.lightsoft.se/?tag=android ) (5认同)