Android小课程10——网络操作

get请求

1.在AndroidManifest.xml 添加网络使用的权限INTERNET,网络请求不是危险权限,配置完就可以使用了

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

2.注意:onCreate是主线程,从上到下依次读取并执行,主线程不可以做耗时操作,处理办法:开一个线程重写run方法,在里面写耗时操作。
1)new url(填请求的网址)
URL u =new URL(“https://www.baidu.com/”);
会报错用try catch
2)开启连接,强转换HttpsURLConnection
HttpsURLConnection huc =(HttpsURLConnection) u .openConnection();
3)设置请求方法是GET(注:字母全要大写)
huc.setRequestMethod(“GET”);
4)填标题头
huc .addRequestProperty(对应value值"content-type",*对应键值"*application/json要是text就直接/text: 编码形式 charset=utf-8");
【可以设置超时时间huc.setConnectTimeout(3000);3秒后没数据返回就说明有问题,也可以不设置】
5)连接
huc.connect();
6)返回输入流
InputStream inputStream =huc .getInputStream();
7)对输入流解析

//创建字节流
 ByteArrayOutputStream baos=new ByteArrayOutputStream();
                  //创建byte数组每次都往数组里装数据
                  byte[] byt=new byte[1024];
                  //设置inputStream 每次读的长度,用length记录
                  int length=0;
                  //对输入流inputStream解析,-1表示没有数据
                  while((length=inputStream.read(byt)) != -1){
   
                  //从第0个开始读,到length结束
                      baos.write(byt,0,length);
                  }
                  //数据通过inputStream 读到ByteArrayOutputStream里,就将baos转换成string类型
                  String str =new String(baos.toByteArray());
                  Log.i("shit",str);

在MainActivity.java中

   new Thread(){
   
          @Override
          public void run() {
   
              try {
   
                  URL u =new URL("https://www.baidu.com/");
                  HttpsURLConnection huc =(HttpsURLConnection) u.openConnection();
                  huc.setRequestMethod("GET");
                  huc.addRequestProperty("content-type","application/json:charset=utf-8");
                  huc.connect();

                  InputStream inputStream =huc.getInputStream();
                  ByteArrayOutputStream baos=new ByteArrayOutputStream();
                  byte[] byt=new byte[1024];
                  int length=0
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值