Android 3.1 でアプリを作成しており、galaxy tab 10.1 を使用してアプリをテストしています。
特定の Web サイトから情報を取得するために、OpenHttpConnection() という関数を作成しました。コード スニペットは次のとおりです。
private InputStream OpenHttpConnection(String urlString) throws IOException {
InputStream in = null;
int response = -1;
URL url = new URL(urlString);
String host = url.getHost();
InetAddress address = InetAddress.getByName(host);
String ip = address.getHostAddress();
Toast.makeText(this, "ip address: " + ip.toString(), Toast.LENGTH_SHORT).show();
try {
HttpURLConnection httpConn = (HttpURLConnection)url.openConnection();
httpConn.setAllowUserInteraction(false);
httpConn.setInstanceFollowRedirects(true);
httpConn.setConnectTimeout(5 * 1000);
httpConn.setRequestMethod("GET");
Toast.makeText(this, "prepare for connecting", Toast.LENGTH_SHORT).show();
httpConn.connect();
Toast.makeText(this, "connecting established", Toast.LENGTH_SHORT).show();
response = httpConn.getResponseCode();
if (response == HttpURLConnection.HTTP_OK) {
in = httpConn.getInputStream();
}
} catch (Exception ex) {
throw new IOException("Error connecting");
}
return in;
}
「httpConn.connect()」行が実行されているときにエラーが発生します。この質問をグーグルで調べたところ、多くの人がこの問題を抱えていることがわかり、DNSの問題だと言いました. 次に、この URL の IP アドレスを取得しようとしましたが、失敗しました。何か問題がありました。私はすでに次のように AndroidManifest.xml にアクセス許可を追加しています:
<uses-permission android:name="android.permission.INTERNET"/>
いくつかの許可を逃しましたか?
タブレットを使用してインターネットに正常にアクセスでき、タブレットの DNS は PC と同じであり、それらは 1 つの LAN にあります。
私は非常に混乱しています。それを解決するのを手伝ってもらえますか?
;)どうも