关于volley的get、post、put、delete方法
来源:互联网 发布:ape转换flac软件 编辑:程序博客网 时间:2024/06/07 02:23
上一篇介绍了关于volley的基本用法,仅仅是get的一个方法,当然关于request不仅仅有StringRequest,还有JasonRequest,JsonRequest还有两个直接的子类,JsonObjectRequest和JsonArrayRequest。用法大致相同,不做阐述。
废话不多说,直接上代码!!!
get方法:
public void getRequest(String url) { StringRequest getRequest = new StringRequest(url, new Response.Listener<String>() { @Override public void onResponse(String response) { Log.d(TAG, response); } }, new Response.ErrorListener() { @Override public void onErrorResponse(VolleyError error) { Log.e(TAG, error.getMessage()); Exception exception = error; handleException(exception); } }); // add it to the RequestQueue mRequestQueues.add(getRequest); }
post方法:
public void postRequest(String url) { StringRequest postRequest = new StringRequest(Request.Method.POST, url, new Response.Listener<String>() { @Override public void onResponse(String response) { // response Log.d("Response", response); } }, new Response.ErrorListener() { @Override public void onErrorResponse(VolleyError error) { // error Log.d("Error.Response", error.getMessage()); Exception exception = error; handleException(exception); } }) { @Override protected Map<String, String> getParams() { Map<String, String> params = new HashMap<String, String>(); params.put("name", "zhaozhe"); params.put("domain", "http://www.baidu.com"); return params; } }; mRequestQueues.add(postRequest); }
put用法:
public void putRequest(String url) { StringRequest putRequest = new StringRequest(Request.Method.PUT, url, new Response.Listener<String>() { @Override public void onResponse(String response) { // response Log.d("Response", response); } }, new Response.ErrorListener() { @Override public void onErrorResponse(VolleyError error) { // error Log.d("Error.Response", error.getMessage()); Exception exception = error; handleException(exception); } }) { @Override protected Map<String, String> getParams() { Map<String, String> params = new HashMap<String, String>(); params.put("name", "zhaozhe"); params.put("domain", "http://www.baidu.com"); return params; } }; mRequestQueues.add(putRequest); }
delete的用法:
public void deleteRequest(String url) { StringRequest dr = new StringRequest(Request.Method.DELETE, url, new Response.Listener<String>() { @Override public void onResponse(String response) { // response Toast.makeText(mContext, response, Toast.LENGTH_LONG) .show(); } }, new Response.ErrorListener() { @Override public void onErrorResponse(VolleyError error) { // error. Exception exception = error; handleException(exception); } }); mRequestQueues.add(dr); }
当然还有错误的处理方法:
/** * VolleyError.java * Volley 中所有错误异常的父类,继承自 Exception,可通过此类设置和获取 NetworkResponse 或者请求的耗时。 * AuthFailureError * 继承自 VolleyError,代表请求认证失败错误,如 RespondeCode 的 401 和 403 (需服务器配合)。 * NetworkError * 继承自 VolleyError,代表网络错误。 * ParseError(Request继承自StringRequest 使用不到) * 继承自 VolleyError,代表内容解析错误。 * ServerError * 继承自 VolleyError,代表服务端错误 (最有可能的4xx或5xx HTTP状态代码)。 * TimeoutError * 继承自 VolleyError,代表请求超时错误。 * NoConnectionError * 继承自NetworkError,代表无法建立连接错误。 * * @param exception */ private void handleException(Exception exception) { String errorMessage; try { throw exception; } catch (TimeoutError e) { e.printStackTrace(); errorMessage = "网络连接超时,请检查当前网络"; } catch (NetworkError e) { e.printStackTrace(); errorMessage = "网络连接失败,请检查当前网络"; } catch (ServerError e) { e.printStackTrace(); errorMessage = "连接服务器失败,请检查当前网络"; } catch (AuthFailureError e) { e.printStackTrace(); errorMessage = "身份验证错误,请重新登录"; } catch (VolleyError e) { e.printStackTrace(); errorMessage = "请求错误,请稍后再试"; } catch (Exception e) { e.printStackTrace(); errorMessage = "未知错误,请稍后再试"; } }
菜鸟总结,如有不足之处,希望大家指正!
0 0
- 关于volley的get、post、put、delete方法
- volley 之get、put、post、delete
- 关于HTTP中GET,POST,PUT,DELETE的区别。
- 关于HTTP协议中 GET, POST, PUT, DELETE等方法的详解
- http的四种请求方法:get, put, post, delete
- Android Volley HTTP GET, POST, PUT, DELETE Requests
- GET/POST/PUT/DELETE
- get/post/put/delete
- GET,POST,PUT,DELETE的区别
- GET,POST,PUT,DELETE的区别
- GET,POST,PUT,DELETE的区别
- http 的get,put,post,delete
- GET,POST,PUT,DELETE的区别
- GET,POST,PUT,DELETE的区别
- GET,POST,PUT,DELETE的区别
- HTTP的get、put、post、delete
- GET,POST,PUT,DELETE的区别
- GET,POST,PUT,DELETE的区别
- Fragment onActivityResult
- tableViewCell的依次插入动画
- iOS中原生APP与JS交互 之 WebViewJavascriptBridge 的简单用法
- MemoryHeapBase与MemoryBase
- easyui的datagrid导出为excel
- 关于volley的get、post、put、delete方法
- socketIO-IOS实现即时通讯
- 设计模式之工厂方法模式
- Think in java笔记 final
- C/C++函数指针变量调用函数
- 点击率预估的几个经典模型简介
- python3.x上post发送json内容的请求
- 让iOS开发变得更有效率-分类、工具类
- 今天做了一个获取获取wifi的mac的小demo