Android中的未知主机异常
我的应用程序经常向servlet发送请求,但从最后一天起,它开始发出未知后异常异常 我在清单文件中添加了访问internet的权限。 我的servlet与PC浏览器配合良好 我在Android中调用servlet的代码是: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
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
}