第四天 下载网络图片显示

 访问网络需要权限  <uses-permission android:name="android.permission.INTERNET"/>

1. 要请求的图片地址  String imgurl ="http://pic12.nipic.com/20110112/4775714_091244001112_2.jpg";

2. 获取URL对象   URL url = new URL(imgurl);

3.获取服务器连接对象     HttpURLConnection conn = (HttpURLConnection) url.openConnection();

4.初始化连接对象 : conn.setRequestMethod("GET")   get请求

          conn.setReadTimeOut      读取文件超时

          conn.setConnectTimeOut    连接超时

5. 连接服务器      conn.connect();

6.返回结果          if(conn.getResponseCode()==200){ //200是连接成功

          InputStream is= conn.getInputStream(); //拿到从服务返回的数据流。是一个InputStream 输入流

          //从输入流的数据中取出图片的数据并组合成图片

           Bitmat bm= BitmapFactory.decodeStream(is);

           }else{

           Toast.makeText(this, "请求服务器失败", 0).show();

              }

 

 

 

 

在4.3版本中,由于不允许耗时操作在主线程中进行,所有上网等耗时操作需要在子线程中开始

   new Thread(){

  public void run(){

       // 将下载的过程放到这里

 

  完成之后由于在子线程中不能更新UI。需要发个消息到主线程

    Message msg = handler.obtainMessage();

    msg.obj= bm;

    handler.SendMessage(msg);

 

};

}.start;

 

 

private Handler handler= new Handler(){

    public void handlerMessage(android.os.Message msg){

       //msg 就是从子线程传过来的消息

}

};

转载于:https://www.cnblogs.com/XingzhiDai/p/5475035.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值