volley框架再识
来源:互联网 发布:湖人三连冠科比数据 编辑:程序博客网 时间:2024/06/07 04:06
Volley是一个HTTP库,它使得在Android应用上访问网络更简单,更重要的是,更快。
多并发网络连接。
设置缓存,清除缓存
你可以取消单个请求,或者取消一些请求。
强大的排序功能,使的从网络异步获取数据并正确填入UI变得容易。
得到一个RequestQueue请求队列时,就添加一个请求Request,Volley提供有三种请求的封装,一个是StringRequest,一个事ImageRequest,还有一个是JsonRequest。
最后,调用RequestQueue的start方法就可以开始一条网络请求了。
这里一个最核心的就是RequestQueue请求队列这个了。
这个请求队列是有两个东西完成,一个是cache一个network。
这个RequestQueue的构造形式有四种:除了上面这两个还有线程池数量,响应委派。
1,public RequestQueue(Cache cache, Network network, int threadPoolSize,ResponseDelivery delivery)
2, public RequestQueue(Cache cache, Network network, int threadPoolSize)
3,public RequestQueue(Cache cache, Network network)
其实Cache和Network真正的工作者还是CacheDispatcher缓存调度和NetworkDispatcher网络调度。下期再详细讲解Dispatcher。。
RequestQueue的成员方法主要有下面几个:
public void start();//请求队列开始进行调度发vgm
public void stop();//队列退出调度
public Request add(Request request);//添加一个请求,通过调用start()来执行
void finish(Request request);//这个方法应该是释放请求资源的方法
public void cancelAll();//取消当前的请求
1.StringRequest是继承Request<String> ,对应String的ResponseListener交付请求结果。
public StringRequest(int method, String url, Listener<String> listener,ErrorListener errorListener)
2.JsonRequest有JsonObjectRequest和JsonArrayRequest两个子类,通过parseNetworkResponse(NetworkResponse response)来处理JsonObject和JsonArray两个不同结果。
3.ImageRequest的构造参数比较多,主要针对图片的一些处理工作。多了一个限制图片最大长宽和configOptions图片类的东西。
public ImageRequest(String url, Response.Listener<Bitmap> listener, int maxWidth, int maxHeight,Config decodeConfig, Response.ErrorListener errorListener)
Volley提供了一下的便利:
自动的网络请求调度。多并发网络连接。
设置缓存,清除缓存
你可以取消单个请求,或者取消一些请求。
强大的排序功能,使的从网络异步获取数据并正确填入UI变得容易。
Volley不适合繁重的下载或者流的操作,因为Volley会把解析到的响应数据保持在内存中。
先看一段下载网络图片的代码
public class MainActivity extends Activity { String imageUrl = "http://zxpic.gtimg.com/infonew/0/wechat_pics_-6472427.jpg/640"; ImageView imView; ImageListener imagelistener; ImageLoader imageloaader; RequestQueue mQueue;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);imView=(ImageView) findViewById(R.id.tests);//通过Volley的静态方法new一个请求队列,再调用请求队列(RequestQueue是由缓存和网络线程构造的)的start方法。mQueue=Volley.newRequestQueue(this);//第一个参数是存放下载图片资源的对象imview,第二个是默认的图片的资源ID,第三张是资源请求错误是给的图片资源IDimagelistener=ImageLoader.getImageListener(imView,R.drawable.ic_launcher,R.drawable.ic_launcher); //第一个参数是The RequestQueue to use for making image requests.//第二个参数是设置缓存的类 imageloaader= new ImageLoader(mQueue, new BitmapCache()); //得到图片并加载 imageloaader.get(imageUrl, imagelistener); mQueue.start();}
得到一个RequestQueue请求队列时,就添加一个请求Request,Volley提供有三种请求的封装,一个是StringRequest,一个事ImageRequest,还有一个是JsonRequest。
最后,调用RequestQueue的start方法就可以开始一条网络请求了。
这里一个最核心的就是RequestQueue请求队列这个了。
这个请求队列是有两个东西完成,一个是cache一个network。
这个RequestQueue的构造形式有四种:除了上面这两个还有线程池数量,响应委派。
1,public RequestQueue(Cache cache, Network network, int threadPoolSize,ResponseDelivery delivery)
2, public RequestQueue(Cache cache, Network network, int threadPoolSize)
3,public RequestQueue(Cache cache, Network network)
其实Cache和Network真正的工作者还是CacheDispatcher缓存调度和NetworkDispatcher网络调度。下期再详细讲解Dispatcher。。
RequestQueue的成员方法主要有下面几个:
public void start();//请求队列开始进行调度发vgm
public void stop();//队列退出调度
public Request add(Request request);//添加一个请求,通过调用start()来执行
void finish(Request request);//这个方法应该是释放请求资源的方法
public void cancelAll();//取消当前的请求
1.StringRequest是继承Request<String> ,对应String的ResponseListener交付请求结果。
public StringRequest(int method, String url, Listener<String> listener,ErrorListener errorListener)
2.JsonRequest有JsonObjectRequest和JsonArrayRequest两个子类,通过parseNetworkResponse(NetworkResponse response)来处理JsonObject和JsonArray两个不同结果。
3.ImageRequest的构造参数比较多,主要针对图片的一些处理工作。多了一个限制图片最大长宽和configOptions图片类的东西。
public ImageRequest(String url, Response.Listener<Bitmap> listener, int maxWidth, int maxHeight,Config decodeConfig, Response.ErrorListener errorListener)
0 0
- volley框架再识
- Volley框架
- Volley框架
- Volley框架
- Volley框架
- Volley框架
- volley框架
- Volley框架
- Volley框架
- Volley框架
- Volley框架
- Volley框架
- Volley框架
- Volley框架
- Volley框架 xUtils 框架
- android-Volley框架简介
- android的volley框架
- Volley框架的使用
- 零散笔记
- 4.PHP接入支付宝手机网站支付、移动支付接口
- Name that Num
- git冲突 解决
- java-基础-JNI本地栈
- volley框架再识
- Android的几种消息通信对比
- 笔记:静态化配置
- Android页面跳转动画简介
- 用MKNetWork来Post一个XML字符串
- Palindromic Squares
- Java线程同步的几种方式
- 常用网站攻击手段及防御方法
- tushare数据写入SQLite 数据库