我使用Android异步Http客户端http://loopj.com/android-async-http/
我需要在创建应用时检索一些数据。 Internet权限已启用。但是连接始终失败并出现错误:
java.io.IOException:
UnknownHostException exception:
Unable to resolve host "google.com": No address associated with hostname
起初我认为问题出在DNS中。我添加了-dns-server 8.8.8.8,8.8.4.4
作为默认选项。但我仍然得到错误。我在我的模拟器中检查了浏览器应用程序,它运行正常。所以问题必须出在我的代码中。我试着睡了一秒钟,查询起作用了。显然,当我执行查询时,某些东西还没有处于就绪状态。
请帮我弄清楚这里发生了什么。提前谢谢。
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//if I remove the sleep the http query fails
try {
Thread.sleep(1000);
} catch (InterruptedException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
AsyncHttpClient client = new AsyncHttpClient();
client.get("http://google.com/", new AsyncHttpResponseHandler() {
@Override
public void onSuccess(int statusCode, Header[] headers, byte[] response) {
System.out.println(statusCode);
}
@Override
public void onFailure(int statusCode, Header[] headers, byte[] errorResponse, Throwable e) {
System.out.println(e);
}
});
}
答案 0 :(得分:0)
问题原因是仿真器启动时没有立即打开互联网连接。