如何在我的Android模拟器中使用Internet连接?

时间:2011-05-17 14:21:37

标签: android android-emulator

我的Android模拟器无法访问互联网。它连接到“网络”。它可以看到本地网络中的机器/服务器,但除此之外什么都没有。我可以在右上方看到3g图标。

从我的代码中我试图从Internet上的服务器下载一些东西,我得到 UnknownHostException 。我在清单中设置了 android.permission.INTERNET ,但显然这不是问题,因为即使操作系统的浏览器也无法打开网站。我想我甚至不能指望我的代码能够在没有浏览器的情况下访问互联网。

毕竟我的谷歌搜索大多数人一直在谈论配置代理,但我没有使用计算机中的代理连接到互联网。这是否需要设置?是否需要检查其他任何设置?

3 个答案:

答案 0 :(得分:4)

  • 您有多个网络吗? 卡在你的电脑? (即一个 以太网和无线)?如果是这样,去吧 进入你的网络设置和 禁用您不使用的那个。 即使它目前没有连接 任何事情。

  • 您使用Norton Internet Security之类的东西吗?如果禁用它,模拟器互联网是否有效?

  • 您可能还有DNS问题:您 可以在Eclipse中尝试 - >运行
    配置 - >目标并添加
    “-dns-server X.X.X.X”,其中X.X.X.X
    是您的DNS的IP地址 服务器

  • 如果是win7,请使用admin启动模拟器 privledges

  • 在Mac上,如果你在Mac上 - 试试
    这个 -

    1.GoTo Apple Icon - >系统偏好设置 - >网络   2.单击上的齿轮图标,然后选择“设置服务订单”   3.在其他接口之前使用活动接口。   4.重启Android模拟器。

    以及其他有用的内容:How to connect android emulator to the internet

答案 1 :(得分:-1)

我最近写了一个应用程序,它从互联网上下载了一个铃声并将其保存在SD卡中。我在这里粘贴代码,所以也许你可以比较

            url = new URL("http://wap.iwfr.net/mp3/mp3toringtone/mp3file-"+id+".mp3");
        HttpURLConnection conn = (HttpURLConnection) url.openConnection();
        int responseCode =conn.getResponseCode();
        if (responseCode == HttpURLConnection.HTTP_OK) {
            InputStream in = conn.getInputStream();
            int size = in.available();
            byte[] buffer = new byte[size];
            in.read(buffer);

            in.close();



            String path="/sdcard/sounds/";
            String filename="fahad.mp3";
            boolean exists = (new File(path)).exists();
            if (!exists){new File(path).mkdirs();}
            FileOutputStream save;
            save = new FileOutputStream(path+filename);
            save.write(buffer);

            save.flush();
            save.close(); }

答案 2 :(得分:-1)

我的问题Upgraded to SDK 2.3 - now no emulators have connectivity的答案 可能有用。