Androidはどのようにサーバーからデータを取得しますか?
AndroidではHTTPリクエストを利用することで、サーバーからデータを取得できます。一般的な方法は次の通りです。
- 関連するライブラリとクラスをインポートします。
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
- HTTPリクエストを送信し、サーバの応答を取得するためのメソッドを作成する:
public String sendHttpRequest(String urlStr) throws IOException {
StringBuilder response = new StringBuilder();
URL url = new URL(urlStr);
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod("GET");
connection.setConnectTimeout(5000);
connection.setReadTimeout(5000);
BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream()));
String line;
while ((line = reader.readLine()) != null) {
response.append(line);
}
reader.close();
return response.toString();
}
- 本スレッドのメソッドを呼び出し、サーバーのデータを入手する。
new Thread(new Runnable() {
@Override
public void run() {
try {
String url = "http://your_server_url.com/data";
String response = sendHttpRequest(url);
// 在这里处理服务器返回的数据
} catch (IOException e) {
e.printStackTrace();
}
}
}).start();
本例では、サーバからデータを取得するために単純なGETリクエストを使用しています。 http://your_server_url.com/data を本番サーバのアドレスとパスに置き換えてください。
ネットワークリクエストはネットワーク処理を伴うため、メインスレッドでは行わないことをおすすめします。ネットワークリクエストは別のスレッドで行うか、非同期タスク(AsyncTask)を使用して実行してください。