2013 google I/O大会上
用于访问量比较小,并且访问比较频繁的网络请求,最好不要进行大文件的上传和下载。
volley:
1.StringRequest.<字符串请求>
2.JSONObjectRequest/JSONArrayRequest - JSONRequest
// 实例化StringRequest对象
mRequest = new StringRequest(
Method.POST, // 请求方法
url, // 请求的URL地址
new Listener<String>()
{
// 请求成功后的回调方法
@Override
public void onResponse(String response)
{
Log.i(TAG, response);
// 处理数据
}
}, // 请求成功后的回调监听
new Response.ErrorListener()
{
@Override
public void onErrorResponse(VolleyError arg0)
{
// 失败处理
}
}
){
//复写getParams方法传递参数
@Override
protected Map<String, String> getParams() throws AuthFailureError {
Map<String, String> params = new HashMap<>();
//?page=0&pageSize=9&sortOrder=0&sortType=1
params.put("page", "0");
params.put("pageSize", "9");
params.put("sortOrder", "0");
params.put("sortType", "1");
return params;
}
};
c) 添加请求到队列中
mQueue.add(request);
b) 取消请求
// 取消请求
// 1, 取消当个请求
// mRequest.cancel();
// 2,取消队列中所有的请求
mQueue.cancelAll(this);
// 3,取消对应
//mQueue.cancelAll(100);
ImageLoder使用:
//ImageLoader使用
ImageLoader imageLoader = new ImageLoader(mqueue,getImageCache());
ImageLoader.ImageListener mListener = ImageLoader.getImageListener(pic2, R.mipmap.ic_launcher,R.mipmap.ic_launcher);
imageLoader.get(Constans.URL.TEST_PIC, mListener, 300, 300);
//NetworkImageView使用
//NetworkImageView imageView
imageView.setErrorImageResId(R.mipmap.ic_launcher);
imageView.setDefaultImageResId(R.mipmap.ic_launcher);
imageView.setImageUrl(Constans.URL.TEST_PIC,new ImageLoader(mqueue,getImageCache()));
//获取ImageCache
public ImageLoader.ImageCache getImageCache()
{
if (imageCache == null)
{
synchronized (this)
{
int cacheSize = (int) (Runtime.getRuntime().maxMemory()/8);
final LruCache<String ,Bitmap> mlruCache = new LruCache<>(cacheSize);
imageCache = new ImageLoader.ImageCache()
{
@Override
public Bitmap getBitmap(String url)
{
return mlruCache.get(url);
}
@Override
public void putBitmap(String url, Bitmap bitmap)
{
mlruCache.put(url,bitmap);
}
};
}
}
return imageCache;
}