转载请注明出处:http://blog.csdn.net/aa464971/article/details/43045385
详解地址:http://www.dyhdyh.com
最新版下载地址:http://www.dyhdyh.com/download
交流QQ群:146261923
dyh框架的http的请求方式有两种,一种是Volley的RequestQueue,一种是Android自带的HttpClient;Volley只有dyh完整版才有,而HttpClient两个版本都有,相对来说,Volley更强大,HttpClient使用更方便。
1、Volley
1.1、简介
Volley是Google发布的Android平台上的网络通信库,能使网络通信更快,更简单,更健壮。
想更详细的了解Volley,可以参考http://blog.csdn.net/aa464971/article/details/42887039
1.2、使用方法
首先需要拿到RequestQueue对象,然后创建一个Request对象,传入请求方式,URL,请求成功的Listener,请求失败的Listener。请求的过程中是异步的,所以不用再操心主线程子线程的问题。
如果请求成功,就会回调onResponse,并且返回一个response,接着就可以做你想做的操作了。
如果请求失败,就会回调onErrorResponse,返回一个VolleyError对象,调用error.getMessage()可以查看失败的信息。
String url = "http://www.weather.com.cn/data/sk/101010100.html"; requestQueue = VolleyTool.getRequestQueue(this); StringRequest request = new StringRequest(Request.Method.GET, url, new Listener<String>() { @Override public void onResponse(String response) { tv.setText("Volley请求成功:\n" + response); } }, new Response.ErrorListener() { @Override public void onErrorResponse(VolleyError error) { tv.setText("Volley请求失败:\n" + error.getMessage()); } }); requestQueue.add(request); }
2、HttpClient
2.1、简介
HttpClient是Android自带的请求API,dyh框架的AndroidHttp就是基于HttpClient封装
2.2、使用方法
由于是静态方法,所以直接调用AndroidHttp.requestGet()或者AndroidHttp.requestPost()就能发起http请求,将URL、OnResponseListener传入,
如果请求成功会回调onResponse,并且返回String类型的response;如果请求失败会回调onError,会返回responseCode(状态码)、服务器返回的错误信息。
String url = "http://www.weather.com.cn/data/sk/101010100.html"; AndroidHttp.requestGet(url, new OnResponseListener() { @Override public void onResponse(String response) { tv.setText("HttpClient请求成功:\n" + response); } @Override public void onError(int responseCode, String error) { tv.setText("HttpClient请求失败:\nrequestCode=" + responseCode + " , " + error); } });