EasyVolley的使用
来源:互联网 发布:iphone壁纸软件免费 编辑:程序博客网 时间:2024/05/09 17:30
EasyVolley
EasyVolley库是Google Volley的改良版本,它简化了请求参数处理,添加对文件的上传及下载的支持,其他相似库,例如VolleyPlus等,它们是把要上传及下载的东西,全部读取到内存,然后再发送出去或保存到文件,这必然会出现内存损耗过多的问题,如果是大文件,手机必然处理不过来。
用法
普通请求
RequestParams params = new RequestParams();params.addBodyParameter("session_id", "4095c7d3c0c9240aa6975044");params.addBodyParameter("birthday", "1986-01-01");String url = "http://yourhost/index.php?act=User&m=updateProfile";StringRequest request = new StringRequest(Request.Method.POST, url, new Response.Listener<String>() { @Override public void onResponse(String response) { Log.e(TAG, response); } }, new Response.ErrorListener() { @Override public void onErrorResponse(VolleyError error) { error.printStackTrace(); } });request.setRequestParams(params);request.setTag(TAG);mRequestQueue.add(request);
文件上传请求
RequestParams params = new RequestParams();params.addBodyParameter("session_id", "4095c7d3c0c9240aa6975044");params.addBodyParameter("hello_video", new File("/sdcard/20150914_153044.mp4"));params.addBodyParameter("hello_pic", new File("/sdcard/20150914_153044.jpg"));String url = "http://yourhost/index.php?act=ActorSetting&m=updateVideo";StringRequest request = new StringRequest(Request.Method.POST, url, new Response.Listener<String>() { @Override public void onResponse(String response) { Log.e(TAG, response); } }, new Response.ErrorListener() { @Override public void onErrorResponse(VolleyError error) { error.printStackTrace(); } });request.setLoadingListener(new Response.LoadingListener() { @Override public void onLoading(boolean isUpload, long total, long current) { Log.e(TAG, "isUpload:" + isUpload + ",total:" + total + ",current:" + current); } });request.setRequestParams(params);request.setTag(TAG);mRequestQueue.add(request);
文件下载请求
文件下载支持断点续传机制,参数autoResume
DownloadRequest(int method, String url, String fileSavePath, boolean autoResume, Response.Listener<File> listener, Response.ErrorListener errorListener);
String url = "http://yourhost/ff.apk";DownloadRequest request = new DownloadRequest(Request.Method.GET, url, "/sdcard/out.apk", false, new Response.Listener<File>() { @Override public void onResponse(File response) { Log.e(TAG, "download finish:" + response.getAbsolutePath()); } }, new Response.ErrorListener() { @Override public void onErrorResponse(VolleyError error) { error.printStackTrace(); } });request.setLoadingListener(new Response.LoadingListener() { @Override public void onLoading(boolean isUpload, long total, long current) { Log.e(TAG, "isUpload:" + isUpload + ",total:" + total + ",current:" + current); } });request.setTag(TAG);mRequestQueue.add(request);
取消请求
你可以在任何地方使用如下方法取消请求。
request.cancel();
或者使用TAG来取消请求。当你的Activity要被Destory时,把该Activity的相关请求取消掉,是一个相当好的习惯!
mRequestQueue.cancelAll(TAG);
欢迎fork。
https://github.com/cat9/EasyVolley
1 0
- EasyVolley的使用
- GUID使用的使用
- ${}的使用
- 的使用
- @[],@()的使用
- ->的使用
- +、-、*、/、%的使用
- &&的使用
- %:的使用
- Makefile中使用$$的使用
- Makefile中使用$$的使用
- Red5的使用--使用日志
- prefernce的使用具体使用
- 【工具使用】git 的使用
- 关于使用AsyncTaskLoader的使用
- 使用CABasicAnimation的基本使用
- 使用RocketMQ的客户端使用
- gulp的使用基本使用
- UnityShader实例15:屏幕特效之Bloom
- OPENCV笔记(五)Sobel算子的库函数实现与指针实现
- idea 14.1.4注册码破解java代码
- Apache Commons Digester 初步
- HTML(5) 不要求标签自闭合
- EasyVolley的使用
- linux svn命令使用简介
- 需求 - 4 - 滚动广播文字 - 1
- OSX Missing C++ header <__debug>修复
- C++操作Redis数据库
- Codeforces Round #320 DIV.2
- ListView_适配器之万能适配器_实现多个ListView公用同一个适配器
- 看看 TableViewCell 有多坑?
- JS判断今天是礼拜几