私のアプリケーションは、ksoap2を使用してWebサービスに接続します。このアプリケーションを使用すると、ユーザーはWebサービスを提供するサーバーのIPアドレス/ URLを(設定で)変更できます。
問題は、ユーザーがIPアドレス/ URLを無効な場所に変更すると、アプリケーションが長時間ハングし、LogCatがアプリケーションが提供されたソケットの説明に接続できなかったことを示すことです。
これを修正するにはどうすればよいですか?Webサービスが見つからない場合にアプリケーションがハングするのを防ぐにはどうすればよいですか?
Webサービスが見つからない場合でも、アプリのUIをそのままにしておきたい。アプリケーションがハングしないようにする方法はありますか?
これは私のコードです。アプリケーションがハングしないようにするための手段を提案してください。
private void getControlFromServer() {
// TODO Auto-generated method stub
SoapObject request = new SoapObject(NAMESPACE, METHOD_GET_CONTROL);
SoapSerializationEnvelope envelope =
new SoapSerializationEnvelope(SoapEnvelope.VER11);
envelope.dotNet = true;
envelope.setOutputSoapObject(request);
HttpTransportSE androidHttpTransport = new HttpTransportSE(URL);
try {
androidHttpTransport.call(SOAP_ACTION_GET_CONTROL, envelope);
SoapObject result=(SoapObject)envelope.getResponse(); //To get the data.
tvTemp.setText("Received :" + result.getProperty(0).toString()+ " : " + result.getProperty(1).toString() + " : " + result.getProperty(2).toString() + " : " + result.getProperty(3).toString() + " : " + result.getProperty(4).toString() + " : " + result.getProperty(5).toString() + " : " + result.getProperty(6).toString());
} catch (Exception e) {
tvTemp.setText("Error");
e.printStackTrace();
}
}