先搭建一个简单的服务器,具体方法见我另外一篇文章测试HttpUrlConnection请求时如何搭建一个简单的服务器
GET请求代码如下:
//网络请求是一个耗时操作,要在子线程里面开启
new Thread(new Runnable() {
@Override
public void run() {
try {
//get请求的url
URL url=new URL("http://192.168.2.135:8080/web/MyProject?username=zhangsan&password=123");
//url写法: 协议://IP地址:端口号/访问的文件
//协议一般是http,IP地址是要访问的IP地址,端口一般是8080,然后加上访问的是什么
//新建一个HttpURLConnection,从url开启一个连接
HttpURLConnection connection= (HttpURLConnection) url.openConnection();
//设置请求的模式
connection.setRequestMethod("GET");
//设置请求连接超时时间
connection.setConnectTimeout(5000);
//设置访问时的超时时间
connection.setReadTimeout(5000);
//开启连接
connection.connect();
InputStream inputStream=null;
BufferedReader reader=null;
//如果应答码为200的时候,表示成功的请求带了,这里的HttpURLConnection.HTTP_OK就是200
if(connection.getResponseCode()==HttpURLConnection.HTTP_OK){
//获得连接的输入流
inputStream=connection.getInputStream();
//转换成一个加强型的buffered流
reader=new BufferedReader(new InputStreamReader(inputStream));
//把读到的内容赋值给result
final String result=reader.readLine();
//子线程不能更新UI线程的内容,要更新需要开启一个Ui线程,这里Toast要在Ui线程
runOnUi

本文总结了使用HttpURLConnection进行GET和POST请求的方法。GET请求需注意子线程不能直接更新UI,需要使用消息机制或新开线程。同时,别忘了添加INTERNET权限。对于下载操作,要考虑文件格式并妥善保存到SD卡,大量图片下载时,避免Bitmap的OutofMemory错误,可借助第三方库如Glide或ImageLoader。
2578

被折叠的 条评论
为什么被折叠?



