このチュートリアルに従ってみました: 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);
}
}
そこに助けをいただければ幸いです。
私の賭けは、あなたがあなたのアプリにインターネットを使う許可を与えるのを忘れたことです。これをAndroidマニフェストに追加してみてください:
<uses-permission Android:name="Android.permission.INTERNET" />
<uses-permission Android:name="Android.permission.ACCESS_NETWORK_STATE" />
有効なインターネット接続があるかどうかを確認してください。
許可を得たかもしれません
<uses-permission Android:name="Android.permission.INTERNET" />
<uses-permission Android:name="Android.permission.ACCESS_NETWORK_STATE" />
しかし
組み込みのブラウザー内からそのURLにアクセスできますか?
そうでない場合は、ネットワーク設定が正しくないことを意味します。エミュレータを使用している場合は、ドキュメントの networking section をご覧ください。
OS/Xを使用している場合、ケーブルなしのen0はまだupとマークされているため、エミュレーターはワイヤレス(en1)であってもen1の「最初の」インターフェースを使用しています。 ifconfig en0 down
を発行して、エミュレータを再起動できます。 Windowsでの同様の動作について読んだことがあると思います。
Wifi/3Gを使用している場合は、正しいDNS設定についてネットワークプロバイダーに問い合わせてください。
私のようなUSBインターネットをお持ちの場合、エミュレーターは接続のオン/オフを嫌うようですので、エミュレーターを再起動する必要があります。
あなたのためのこのエラーは、ホストをDNS経由でIPアドレスに変換できません。
この問題の解決:
1-インターネットに接続していることを確認します(ネットワークの品質を確認します)。
2-ネットワークにアクセスするための適切な許可を得ていることを確認してください
<uses-permission Android:name="Android.permission.INTERNET" />
<uses-permission Android:name="Android.permission.ACCESS_NETWORK_STATE" />
私は同じエラーを受け取りました、そして問題のために、私はVPNにいて、それを理解していなかったということでした。 VPNを切断し、wifiを再接続すると解決しました。
また、デバイスが機内モードになっていないこと、および/またはデータ使用が有効になっていることを確認してください。
Wi-FiまたはLANで断続的に表示される場合でも、モバイルインターネット接続は問題ないと思われる場合は、ISPの安価なゲートウェイルーターのトラフィック負荷が高い可能性があります。
これらのエラーをトラップして、ネットワークを使用している他のアプリを閉じるようにユーザーにリマインダーを表示する必要があります。
再現するには、デスクトップでHDのYouTubeビデオをいくつか実行してテストするか、忙しいスターバックスに行ってください。