私はAndroidスタジオを使用しています。私は、MainActivity.javaファイルで簡単なHTTPリクエストを試みるのに数時間を費やしていましたが、複数の方法で試してみました。それを理解することはできません。MainActivity.javaで簡単なHTTPリクエストを作成するにはどうすればよいですか? (Androidスタジオ)
私はOkHttpを試してみると、メインスレッドではできないというエラーが表示されます。今私は、このようにそれをやろうとしている:
public static String getUrlContent(String sUrl) throws Exception {
URL url = new URL(sUrl);
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod("GET");
connection.setDoOutput(true);
connection.setConnectTimeout(5000);
connection.setReadTimeout(5000);
connection.connect();
BufferedReader rd = new BufferedReader(new InputStreamReader(connection.getInputStream()));
String content = "", line;
while ((line = rd.readLine()) != null) {
content += line + "\n";
}
return content;
}
私はMainActivity.javaで直接そのメソッドを入れて、私のクリックイベントがMainActivity.javaでもある別の方法からそれを実行します。
try {
String str = getUrlContent("https://example.com/WAN_IP.php");
displayMessage(str);
}
catch(Exception e){
displayMessage(e.getMessage());
}
しかし、今はクラッシュはなく、 "BufferedReader"を開始する行に例外がスローされることがわかりますが、e.getMessage()は空白です。
私はAndroidスタジオとJavaの新機能ですので、この非常に基本的な問題を親切にしてください。最終的に私はサーバーへの投稿要求を行う必要があり、OkHttpが最良の方法だと思われますが、私はAndroidスタジオのOkHttpの "Hello World"をオンラインで文書化していません。
OK、コードが最も役立ちましたが、いくつかの調整が必要でした。 Android Studioがデバッグを手助けしてくれました。 –
訂正のために編集を提案してください:) –