Android中的未知主机异常

Android中的未知主机异常,android,Android,我的应用程序经常向servlet发送请求,但从最后一天起,它开始发出未知后异常异常 我在清单文件中添加了访问internet的权限。 我的servlet与PC浏览器配合良好 我在Android中调用servlet的代码是: String url = "http://sampark.iiit.ac.in:8080/VTSServlets/CurrentTripInfo?mobilenum=##########&lat=10&long=10" String response = ge

我的应用程序经常向servlet发送请求,但从最后一天起,它开始发出未知后异常异常

我在清单文件中添加了访问internet的权限。 我的servlet与PC浏览器配合良好

我在Android中调用servlet的代码是:

String url = "http://sampark.iiit.ac.in:8080/VTSServlets/CurrentTripInfo?mobilenum=##########&lat=10&long=10"
String response = getResponse(url);



public static String getResponse(final String url)
 {
        final StringBuilder builder = new StringBuilder();
    final HttpClient client = new DefaultHttpClient();

    System.out.println("URL :: " + url);
    final HttpGet httpGet = new HttpGet(url);
    try {
        final HttpResponse response = client.execute(httpGet);
        final StatusLine statusLine = response.getStatusLine();
        final int statusCode = statusLine.getStatusCode();
        if (statusCode == 200) {
            final HttpEntity entity = response.getEntity();
            final InputStream content = entity.getContent();
            final BufferedReader reader = new BufferedReader(
                    new InputStreamReader(content));
            String line;
            while ((line = reader.readLine()) != null) {
                builder.append(line);
            }
        } else {
            builder.append("Not 200");
        }
    } catch (final ClientProtocolException e) {
        e.printStackTrace();
    } catch (final IOException e) {
        e.printStackTrace();
    }

    return builder.toString();
}

}

我已经检查了所有要求,但不知道它是如何突然出现未知主机异常的?我正在android mobile上测试我的应用程序。

只要关闭你的仿真器,然后运行应用程序意味着你需要重新启动你的仿真器。如果你在设备中运行,而不是断开网络连接,这是由于连接问题造成的如wifi禁用和启用后检查此问题id bcz网络连接问题和webserivce应用程序的另一件事意味着从网络获取数据或图像首先检查连接,如下所示,然后检查代码

在活动或类中添加此方法

  protected boolean checkConnection(){ 
    ConnectivityManager conMan = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);

    NetworkInfo networkInfo = conMan.getActiveNetworkInfo();

    final boolean connected = networkInfo != null
            && networkInfo.isAvailable()
            && networkInfo.isConnected();

    if ( !connected) {
        Toast.makeText(
                this,
                "Failed to connect to internet. Check internet connection!",
                Toast.LENGTH_LONG).show();
        return false;
    }
    return true;
}
外接程序不仅要检查internet,还要检查此网络状态是否允许检查上述条件

 <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/> 

检查代码是否正常后,请检查手机设置是否连通。
尝试卸载并重新安装应用程序(它可能会工作),并在浏览器中加载url(在返回json之前检查url是否返回json?)

您的手机没有互联网连接,或者您正在呼叫的Url已关闭。@Khan:我尝试了您的建议。谢谢您的帮助。但仍然无法正常工作。然后,我将android手机重置为出厂设置并重新安装新项目,然后它就可以正常工作了。我仍然不明白这个问题。一天之后,它就停止工作了全部重置,,工作正常。谢谢你的建议。实际问题是网络连接。在编码时,确保你已检查网络连接,无需重置出厂设置。你必须重置网络连接,因为我已检查网络连接。在出现异常时,网络工作正常。新闻应用,天气更新和我手机的移动bowser正在工作。正在访问网络,但我的应用程序显示未知的后异常。在emulator中总是显示已连接。在断开连接后,它对设备检入设备有效。我已尝试过多次,但在将我的手机重置为出厂设置后,它工作正常。感谢您的帮助suggestion.means你不会再遇到这种异常情况了..???@priyank当你重新设置手机出厂设置时,请在安装应用程序之前将所有资源恢复到其状态,因此,请在应用程序中检查你的连接情况。。我建议您使用HttPUrlConnection类,这比使用这种类型的连接要好得多,它还可以提高速度,以获得更多帮助检查这是否有助于欣赏。。。
if(checkConnection()){

// Do here your all code as condition successfully satisfied
  }