java okhttp下载图片_安卓学习----使用okHttp(get方式)---下载图片

packagecom.liunan.okhttpdemo2;importandroid.graphics.Bitmap;importandroid.graphics.BitmapFactory;importandroid.os.Handler;importandroid.os.Message;importandroid.support.v7.app.AppCompatActivity;importandroid.os.Bundle;importandroid.view.View;importandroid.widget.ImageView;importandroid.widget.Toast;importjava.io.IOException;importjava.io.InputStream;importokhttp3.OkHttpClient;importokhttp3.Request;importokhttp3.Response;importokhttp3.ResponseBody;public class MainActivity extendsAppCompatActivity {private static final int ERROR = 1;private static final int SUCCESS = 2;private String url = "http://192.168.1.102:8080/img/a.jpg";privateImageView mIv;

@Overrideprotected voidonCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

initView();

}private Handler handler = newHandler(){

@Overridepublic voidhandleMessage(Message msg) {switch(msg.what){caseSUCCESS:

mIv.setImageBitmap((Bitmap) msg.obj);break;caseERROR:

Toast.makeText(MainActivity.this, "请求超时", Toast.LENGTH_SHORT).show();break;

}

}

};/*** 初始化 组件*/

private voidinitView() {

mIv=(ImageView) findViewById(R.id.main_iv);

}/*** 点击获取图片*/

public voidgetPic(View v){newThread(){

@Overridepublic voidrun() {//获取okHttp对象get请求,

try{

OkHttpClient client= newOkHttpClient();//获取请求对象

Request request = newRequest.Builder().url(url).build();//获取响应体

ResponseBody body=client.newCall(request).execute().body();//获取流

InputStream in =body.byteStream();//转化为bitmap

Bitmap bitmap =BitmapFactory.decodeStream(in);//使用Hanlder发送消息

Message msg =Message.obtain();

msg.what=SUCCESS;

msg.obj=bitmap;

handler.sendMessage(msg);

}catch(IOException e) {

e.printStackTrace();//失败

Message msg =Message.obtain();

msg.what=ERROR;

handler.sendMessage(msg);

}

}

}.start();

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值