117.info
人生若只如初见

Android中HttpURLConnection怎么使用

在Android中,可以使用HttpURLConnection来进行网络请求。下面是一个简单的示例,演示如何使用HttpURLConnection发送GET请求:

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
new Thread(new Runnable() {
@Override
public void run() {
try {
// 创建URL对象
URL url = new URL("http://example.com/api/data");
// 打开连接
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
// 设置请求方法为GET
conn.setRequestMethod("GET");
// 设置连接超时时间
conn.setConnectTimeout(5000);
// 获取服务器返回的输入流
BufferedReader reader = new BufferedReader(new InputStreamReader(conn.getInputStream()));
// 读取服务器返回的数据
StringBuilder response = new StringBuilder();
String line;
while ((line = reader.readLine()) != null) {
response.append(line);
}
// 关闭输入流和连接
reader.close();
conn.disconnect();
// 在主线程中更新UI
runOnUiThread(new Runnable() {
@Override
public void run() {
// 处理服务器返回的数据
String result = response.toString();
// 更新UI
textView.setText(result);
}
});
} catch (IOException e) {
e.printStackTrace();
}
}
}).start();
}
}

上述代码中,在run()方法中创建了一个URL对象,然后通过openConnection()方法打开连接。设置请求方法为GET,连接超时时间为5秒。通过getInputStream()方法获取服务器返回的输入流,并使用BufferedReader来读取数据。最后在主线程中更新UI,处理服务器返回的数据。

需要注意的是,网络请求不能在主线程中执行,否则会导致ANR(Application Not Responding)错误。所以我们使用了一个新的线程来执行网络请求。

未经允许不得转载 » 本文链接:https://www.117.info/ask/feaaeAzsLCQZSBl0.html

推荐文章

  • Android怎么正确关闭对话框

    要正确关闭Android对话框,可以按照以下步骤进行操作: 获取对话框的实例对象。通常在创建对话框时,会通过Dialog类的构造函数获取到对话框的实例对象。 调用实例...

  • Android创建对话框的方法有哪些

    Android创建对话框的方法有以下几种: AlertDialog:使用AlertDialog.Builder类创建一个对话框,可以设置标题、消息、按钮等属性。 AlertDialog.Builder builder...

  • android虚拟机无法运行程序怎么解决

    如果Android虚拟机无法运行程序,可以尝试以下解决方法: 检查虚拟机配置:确保虚拟机的配置参数正确设置,例如内存大小、CPU核心数等。 更新虚拟机:如果是使用...

  • Android虚拟程序停止的原因有哪些

    Android虚拟程序停止的原因有多种可能,包括但不限于以下几点: 内存不足:当系统内存不足时,Android虚拟程序可能会停止运行以释放内存资源。 资源冲突:如果虚...

  • modifymenu函数怎么使用

    modifymenu函数可以用来修改菜单选项。
    使用方法如下: 调用modifymenu函数,并传入要修改的菜单名称作为参数。 在函数内部,使用各种方法来修改菜单选项,...

  • java中set方法和get方法有什么用

    在Java中,set方法和get方法是用于访问和修改对象的属性的常用方式。具体来说,set方法用于设置对象的属性值,而get方法用于获取对象的属性值。
    set方法的作...

  • centos云主机硬盘如何扩容

    要扩容CentOS云主机的硬盘,可以按照以下步骤进行操作: 在云主机提供商的管理平台上,选择要扩容硬盘的云主机,并进入管理界面。 找到硬盘相关的设置或配置选项...

  • vps如何搭建dns解析服务器

    要搭建一个基于VPS的DNS解析服务器,可以按照以下步骤进行操作: 选择和购买VPS:选择一个可靠的VPS提供商,购买一台VPS服务器,确保服务器的操作系统是一个常见...