在尝试使用okhttp的基本功能时,一开始遇到一个很奇怪的问题:我是直接从这个链接下载了jar包并导入到工程里,结果后面运行时总是无法正常下载图片。这个问题查了很久都没有明白,还以为是自己的代码写的不对,然而从网上引用别人的代码同样不对。代码如下:
ImageView imageView = (ImageView) findViewById(R.id.myImage);
OkHttpClient client = new OkHttpClient();
String url = "http://XXXXXXXX";
try {
Request request = new Request.Builder().url(url).build();
Response response = client.newCall(request).execute();
InputStream is = response.body().byteStream();
Bitmap bm = BitmapFactory.decodeStream(is);
imageView.setImageBitmap(bm);
} catch (IOException e) {
e.printStackTrace();
}
最后,在这里找到了答案:
“......但是由于okHttp内部依赖于okio,所以必须在导入okHttp的同时导入okio。”
因此,GitHub上提供的jar包下载实际上是不完整的,还缺了okio包。不过导jar包首先要找到并下载,然后再添加到工程里,很是麻烦。所以可以采取简单一点的办法,在app的build.gradle里添加这样两句即可:
compile 'com.sq