写了个volley使用的例子,记录一下。
首先,下个volley。。。。
方法一:网上下个现成的jar。
方法二:在Git CMD中打命令git clone https://android.googlesource.com/platform/frameworks/volley ,就可以下载了(当然还要干点别的事才能下),然后再把里面的volley包打包成jar。
使用volley:(简化了,具体看demo)
BitmapCache bCache=new BitmapCache();//图片缓存,通过LruCache键值对进行缓存。
RequestQueue requestQueue= Volley.newRequestQueue(mContext);//首先要弄到volley的请求队列
ImageLoader imageLoader=new ImageLoader(requestQueue,bCache);//再弄到图片加载器,里面的bCache是实现了ImageCache的类
BitmapCache.java
public class BitmapCache implements ImageLoader.ImageCache {
private LruCache<String, Bitmap> lruCache;
public BitmapCache() {
lruCache = new LruCache<>(30);
}
@Override
public Bitmap getBitmap(String key) {
return lruCache.get(key);
}
@Override
public void putBitmap(String key, Bitmap bitmap) {
lruCache.put(key, bitmap);
}
}
加载我写在adapter的getView里了
@Override
public View getView(int position, View view, ViewGroup viewGroup) {
if (view == null) {
view = LayoutInflater.from(mContext).inflate(R.layout.listview_item, null);
}
NetworkImageView niv = ViewHolder.get(view, R.id.list_item_niv);//图片
TextView tx = ViewHolder.get(view, R.id.list_item_tx);//文字
tx.setText("-----------第"+(position+1)+"张图");
// niv.setTag("url");
niv.setDefaultImageResId(R.mipmap.ic_launcher);//默认图片
niv.setErrorImageResId(R.mipmap.erroricon);//出现错误时显示图片
niv.setImageUrl(urlList.get(position),imageLoader);//根据Url加载图片
return view;
}
注:ImageLoader 可以ImageListener监听网络请求,可以设置要加载的imageview,默认的图片,错误加载的图片。但是NetworkImageView用不了(我试了下好像是这样,也不太确定)