ホスト「<ここにURLを挿入>」を解決できませんホスト名に関連付けられたアドレスがありません


98

このチュートリアルに従ってみました: Webからデータを取得する

タブレットの最新プラットフォームであるAndroid 3.0に実装しようとしましたが、「ホスト "www.anddev.org"を解決できません。ホスト名に関連付けられたアドレスがありません。」というエラーが表示されます

ファイルが存在することを証明するためだけに使用したURLをチェックアウトできます。 http://www.anddev.org/images/tut/basic/getdatafromtheweb/loadme.txt

プライベートクラスを作成し、それをasynctaskで拡張しました。これがコードです:

    private class Downloader extends AsyncTask<String,Void,String>{
    String myString = null;
    @Override
    protected String doInBackground(String... arg0) {
        try{
            URL myURL = new URL("http://www.anddev.org/images/tut/basic/getdatafromtheweb/loadme.txt");
            URLConnection ucon = myURL.openConnection();
            InputStream is = ucon.getInputStream();
            BufferedInputStream bis = new BufferedInputStream(is);

            ByteArrayBuffer baf = new ByteArrayBuffer(50);
            int current = 0;
            while((current=bis.read())!=-1){
                baf.append((byte)current);
            }
            myString = new String (baf.toByteArray());
        }catch(Exception e){
            myString = e.getMessage();
        }
        return myString;
    }
@Override
protected void onPostExecute(String result){
    tv.setText(result);
}
}

そこに助けをいただければ幸いです。


このリンクを参照してください。これがお役に立て
ば幸い

回答:


148

私の賭けは、あなたがあなたのアプリにインターネットを使用する許可を与えるのを忘れたということです。これをAndroidマニフェストに追加してみてください。

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

常にlogcatを参照してエラーの種類を取得すると、時間の消費が節約されます......アクセス許可を追加するのを忘れたときは、logcatがエラーを表示する......またはクラッシュレポートを生成する... ........
Vipin Sahu 2012

14
まあ私もこの問題があります。権限が正しく設定されています。ほとんどの場合、URLConnectionは正常に機能しています。しかし、時々、私はこのエラーを数回続けて受け取ります。
たま

また、コミュニティを支援するために素晴らしい気分になる私の許可も持っています
Sebastien FERRAND 2013年

私はこのアクセス許可を追加した後、同じエラーが発生しました。エミュレータに問題はありますか
Pratik Butani 2013

7
以前にモバイルデータをオフにしていて、再びオンにするのを忘れていたため、このエラーが発生しました。オフィスでは問題なく動作しましたが、使い慣れたwifiを使用しないとすぐにエラーが発生しました。時にはそれは愚かなことです:|
Karmic Coder 2014

117

有効なインターネット接続があるかどうかを確認してください。


うーん...:DIがチェックしたところ、あなたは正しいようです。理由は本当にわかりませんが、インターネット接続は問題ありませんが、エミュレーター内のブラウザーは何にもアクセスできません。それは奇妙なことです。エミュレーター・ブラウザーは数分前には問題なく動作していました。
'2011

1
私は最大の馬鹿のように感じます。オフィスではなく自宅で開発していて、WiFiのセットアップを忘れていました。時々、あなたがばかであることを思い出させるために、これらのようなことをすることがあります。だから、バカみたいにさせてくれて本当にありがとう!:)
RileyE 2013年

2
わたしも!どういうわけかWifiと機内モードを選択できるので、機内モードを無効にするだけで済みました(実際にはインターネットパームフェイスに接続していませんでした)
d1jhoni1b 14年

1
Lol dunnoワイヤレスをオンにせずにS3にログインすることを期待した理由
Declan McKenna

ダミット。昨日、シミュレータへのインターネット接続をオフにして、今朝オンにするのを忘れてしまいました、ありがとう!
ロバートJ.クレッグ2017

65

許可をもらえますか

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

だが

モバイルまたはその他のデバイスでインターネットオンにするのを忘れている可能性があります。


2
デバイスをwifiに接続していないことが私を悩ませました!おっと。
ニコ

11
エミュレータを再起動することで修正されました。
Kacy

モバイルデバイスの部分を強調していただきありがとうございます。:)
BurakKarakuş18年

12

組み込みブラウザ内からそのURLにアクセスできますか?

そうでない場合は、ネットワーク設定が正しくないことを意味します。エミュレータを使用している場合は、ドキュメントのネットワークセクションをご覧ください。

OS / Xを使用している場合、エミュレーターは「最初の」インターフェースを使用しています。ワイヤレス(en1)を使用している場合でも、ケーブルなしのen0はまだアップとしてマークされているためです。ifconfig en0 downエミュレータを発行して再起動できます。Windowsでの同様の動作について読んだと思います。

Wifi / 3Gを使用している場合は、ネットワークプロバイダーに連絡して正しいDNS設定を入手してください。


うーん...:DIがチェックしたところ、あなたは正しいようです。理由は本当にわかりませんが、インターネット接続は問題ありませんが、エミュレーター内のブラウザーは何にもアクセスできません。奇妙なことです。エミュレータのブラウザは、数分前に問題なく動作していました。
'2011

ありがとう!私の場合、エラーの原因となったURLとしてイントラネットが設定されており、エクストラネットを使用すると明らかに問題が解決しました
CGR

11

私のようなUSBインターネットを使用している場合、エミュレータは接続のオン/オフを嫌うようなので、エミュレータを再起動する必要があるかもしれません


6

ホストが原因のこのエラーは、DNS経由でIPアドレスに変換できません。

この問題の解決:

1-インターネットに接続していることを確認してください(ネットワークの品質を確認してください)。

2-ネットワークにアクセスするための適切な権限を持っていることを確認してください

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

4

同じエラーが発生しましたが、問題はVPNに接続していて、気付かなかったことです。VPNを切断してwifiに再接続した後、問題は解決しました。


2

また、デバイスが機内モードになっていないこと、および/またはデータ使用が有効になっていることを確認してください。


0

これが断続的にwifiまたはLANで表示されても、モバイルインターネット接続に問題がないと思われる場合は、ISPの安価なゲートウェイルーターに高いトラフィック負荷がかかっている可能性があります。

これらのエラーをトラップし、ネットワークを使用している他のアプリを閉じるようにユーザーにリマインダーを表示する必要があります。

デスクトップでHD youtubeビデオをいくつか実行してテストし、再現するか、忙しいStarbucksに移動します。


0

エミュレータを再起動すると、いくつかのシナリオで機能します。


0

私はAndroid 10エミュレーターでも同じ問題を抱えていましたが、以下の手順に従って問題を解決することができました。

  1. [設定]→[ネットワークとインターネット]→[詳細設定]→[プライベートDNS]に移動します
  2. プライベートDNSプロバイダーのホスト名を選択
  3. 入力:dns.google
  4. 保存をクリックします

この設定により、URLは期待どおりに機能するはずです。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.