📜  android studio 允许 http - Java (1)

📅  最后修改于: 2023-12-03 15:13:20.782000             🧑  作者: Mango

Android Studio 允许 HTTP - Java

在 Android Studio 中,可以使用 Java 框架向 Web 服务器发送 HTTP 请求并接收响应。这对于在 Android 应用程序中获取数据和与服务器通信非常有用。

步骤

1.添加权限:确保在 AndroidManifest.xml 文件中添加了以下行:

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

2.创建一个 HttpUrlConnection 对象:使用 URL 类创建 URL 对象,并将其传递给 HttpUrlConnection 类的 openConnection() 方法。将 URL 设置为连接以及设置请求方法,如 GET 或 POST。

URL url = new URL("http://www.example.com");
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setRequestMethod("GET");

3.设置请求参数:设置请求参数(如查询参数、POST 数据等)并写入连接。

conn.setDoOutput(true);
DataOutputStream out = new DataOutputStream(conn.getOutputStream());
String urlParameters = "param1=value1&param2=value2";
out.writeBytes(urlParameters);
out.flush();
out.close();

4.获取响应:读取响应并将其存储在变量中。可以使用 BufferedReader 类以文本形式读取响应。

BufferedReader in = new BufferedReader(new InputStreamReader(conn.getInputStream()));
String inputLine;
StringBuilder response = new StringBuilder();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();

5.处理响应:对响应进行处理并在应用程序中使用它。

String responseString = response.toString();
示例
try {
    URL url = new URL("http://www.example.com");
    HttpURLConnection conn = (HttpURLConnection) url.openConnection();
    conn.setRequestMethod("GET");

    BufferedReader in = new BufferedReader(new InputStreamReader(conn.getInputStream()));
    String inputLine;
    StringBuilder response = new StringBuilder();
    while ((inputLine = in.readLine()) != null) {
        response.append(inputLine);
    }
    in.close();

    String responseString = response.toString();
} catch (IOException e) {
    e.printStackTrace();
}
结论

使用以上步骤,您可以使用 Java 向 Web 服务器发送 HTTP 请求。请注意,此方法将阻止 UI 线程,因此您应该使用异步任务或类似技术来避免阻止 UI 线程。