对于OkHttp的使用,就不多废话了,直接上代码
添加依赖,build.gradle文件中添加如下依赖
compile 'com.squareup.okhttp3:okhttp:3.2.0'
接下来在Activity中添加如下代码
//首先创建一个Handler
private Handler mHandler = new Handler() {
@Override
public void handleMessage(Message msg) {
switch (msg.what) {
imageView.setImageBitmap((Bitmap) msg.obj);
break;
}
}
};
//然后使用OkHttp发送网络请求,并将结果通过Handler发送到主线程
public void sendRequestByOkHttp() {
//创建Request对象,并传入请求地址
Request request = new Request.Builder().url( "http://tnfs.tngou.net/img/ext/160321/e57d5816cb72d7486aa6dbf19a7d0c6c.jpg").build();
//构造Call对象--其实是AsyncCall对象
Call call = client.newCall(request);
//调用Call.enqueue方法进行异步请求
call.enqueue(new Callback() {
@Override
public void onFailure(Call call, IOException e) {
//网络请求失败
Log.d("lenve", "onFailure: " + e.getMessage());
}
@Override
public void onResponse(Call call, Response response) throws IOException {
//网络请求成功,将请求的图片信息显示的ImageView控件上
Bitmap bitmap = BitmapFactory.decodeStream( response.body().byteStream());
Message msg = mHandler.obtainMessage();
msg.what = 1;
msg.obj = bitmap;
mHandler.sendMessage(msg);
}
});
}
使用很简单,就不作过多的解释了。有不明白的私聊