最初在recyclerView中用下面方法加载图片
异步线程下载图片
public Bitmap GetImageInputStream(String imageurl){
URL url;
HttpURLConnection connection=null;
Bitmap bitmap=null;
try{
url = new URL(imageurl);
connection=(HttpURLConnection)url.openConnection();
connection.setConnectTimeout(6000);
connection.setDoInput(true);
connection.setUseCaches(false);
InputStream inputStream = connection.getInputStream();
bitmap= BitmapFactory.decodeStream(inputStream);
inputStream.close();
}catch(Exception e){
e.printStackTrace();
}
return bitmap;
}
public void onClick(View v){
switch (v.getId()){
case R.id.content:
//new Task().execute("http://pic.4j4j.cn/upload/pic/20130617/55695c3c95.jpg");
new Task().execute("http://img.zcool.cn/community/01ceff57bdaa2a0000012e7ea5534a.jpg@2o.jpg");
break;
case R.id.image1:
SaveImage(bitmap, Environment.getExternalStorageDirectory().getPath()+"/Test");
Toast.makeText(getBaseContext(),"图片保存",Toast.LENGTH_LONG).show();
break;
default:
break;
}
}
Handler handler=new Handler(){
public void handleMessage(android.os.Message msg){
if(msg.what==0x123){
image.setImageBitmap(bitmap);
}
}
};
//异步线程下载图片
class Task extends AsyncTask<String,Integer,Void>{
protected Void doInBackground(String...params){
bitmap=GetImageInputStream((String)params[0]);
return null;
}
protected void onPostExecute(Void result){
super.onPostExecute(result);
Message message=new Message();
message.what=0x123;
handler.sendMessage(message);
}
}
失败
后来运用Glide框架加载图片
Glide. with(context)
.load(mMerchandiseList.get(position).getImage().getUrl())
.asBitmap()
.error(R.drawable.img_1)
.into(new BitmapImageViewTarget(((ViewHolder) holder).fruitImage) {
@Override
public void onResourceReady (Bitmap resource , GlideAnimation<? super Bitmap> glideAnimation) {
super.onResourceReady(resource , glideAnimation);
}
});