Android学习笔记(四):Volley的使用
2015-11-27 10:42
441 查看
转自:/content/2286405.html
使用Volley以Http get的方式请求JSONObject对象,我们需要使用JsonObjectRequest类的构造方法。
new JsonObjectRequest(url,jsonObject,listener)去构造一个请求request。
url:请求的地址。
jsonObject:需要传递的数据,如果是以get方式传递,则为null,如果是以post方式传递,则需要设置数据。
listener:reponse.listener()的实例。
如果是以Post方式去请求,需要设置post的数据。
在添加当前的request到队列中的时候,我们可以指定优先级,具体是要重写request的getPriority()方法
如果想要取消当前队列中的request,可以调用cancelAll()。
使用Volley以Http get的方式请求JSONObject对象,我们需要使用JsonObjectRequest类的构造方法。
new JsonObjectRequest(url,jsonObject,listener)去构造一个请求request。
url:请求的地址。
jsonObject:需要传递的数据,如果是以get方式传递,则为null,如果是以post方式传递,则需要设置数据。
listener:reponse.listener()的实例。
RequestQueue queue = Volley.newRequestQueue(this); String url = "http://m.weather.com.cn/data/101201401.html"; JsonObjectRequest objRequest = new JsonObjectRequest(url, null, new Response.Listener<JSONObject>() { @Override public void onResponse(JSONObject obj) { System.out.println("----------:" + obj); } }, new Response.ErrorListener() { @Override public void onErrorResponse(VolleyError error) { error.getMessage(); } }); objRequest.setTag("obj"); queue.add(objRequest);
如果是以Post方式去请求,需要设置post的数据。
Map<String,String> map=new HashMap<String,String>(); map.put("token", "AbCdEfGh123456"); JSONObject params=new JSONObject(map); RequestQueue queue = Volley.newRequestQueue(this); String url = "http://m.weather.com.cn/data/101201401.html"; JsonObjectRequest objRequest = new JsonObjectRequest(url, params, new Response.Listener<JSONObject>() { @Override public void onResponse(JSONObject obj) { System.out.println("----------:" + obj); } }, new Response.ErrorListener() { @Override public void onErrorResponse(VolleyError error) { error.getMessage(); } });
在添加当前的request到队列中的时候,我们可以指定优先级,具体是要重写request的getPriority()方法
JsonObjectRequest objRequest = new JsonObjectRequest(url, params, new Response.Listener<JSONObject>() { @Override public void onResponse(JSONObject obj) { System.out.println("----------:" + obj); } }, new Response.ErrorListener() { @Override public void onErrorResponse(VolleyError error) { error.getMessage(); } }) { @Override public com.android.volley.Request.Priority getPriority() { return Priority.HIGH; } };
如果想要取消当前队列中的request,可以调用cancelAll()。
objRequest.setTag("obj"); queue.add(objRequest); //取消请求 queue.cancelAll("obj");
相关文章推荐
- android studio里面的svn基本使用
- android中shape、selector、color
- Android防止重复点击深入
- Jenkins+ Gradle +Lint对Android工程源码进行静态代码分析
- Android 控件布局常用属性
- Android入门:增删改查通讯录
- Android Studio 配置Android Annotation
- Android imageview帧动画 监听结束
- Android布局属性说明
- Android之SurfaceView学习(一)
- Android登录模块原理及实现
- android中getSystemService通过系统提供的Manager接口来访问及设置服务数据
- Android项目:proguard混淆第三方jar.
- 序列化接口:Serializable 、Parcelable
- Android项目:proguard混淆第三方jar.
- Android项目:proguard混淆第三方jar.
- Android项目:proguard混淆第三方jar.
- Android项目:proguard混淆第三方jar.
- Android项目:proguard混淆第三方jar.
- android.os.NetworkOnMainThreadException错误的原因