网络似乎无法立即在Android上创建

时间:2014-12-05 12:05:12

标签: android networking emulation

我使用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);
        }
    });
}

1 个答案:

答案 0 :(得分:0)

问题原因是仿真器启动时没有立即打开互联网连接。