使用google的开源框架Volley,功能一:网络请求Json数据
2016-05-11 16:13
726 查看
1.首先到我的百度云http://pan.baidu.com/s/1skZyUeD ,下载volley.jar,放到你的项目lib目录下
2.然后开始写代码
package com.example.myvolley;
import org.json.JSONObject;
import android.os.Bundle;
import android.support.v7.app.ActionBarActivity;
import com.android.volley.Request;
import com.android.volley.RequestQueue;
import com.android.volley.Response;
import com.android.volley.VolleyError;
import com.android.volley.toolbox.JsonObjectRequest;
import com.android.volley.toolbox.Volley;
public class MainActivity extends ActionBarActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
getJson();
}
// 获取Json字符串
public void getJson() {
//1.知道有Volley的存在,调用它的静态方法,一个新的请求队列
RequestQueue queue = Volley.newRequestQueue(this);
String jsonObjectUrl = "http://apis.juhe.cn/goodbook/catalog?dtype=&key=9fd903bc9a46e6c9519ae377f7ee288c";
//3.因为要JSONObject集合,就new JsonObjectRequest
//得到这个集合,
//int method(请求方式), String url(Json数据请求地址), JSONObject jsonRequest(null即可),
//Listener<JSONObject> listener(事件监听,就是拿到响应数据), ErrorListener errorListener(如果错误,就响应这个监听)
//有下面这5个参数
JsonObjectRequest objectRequest = new JsonObjectRequest(
Request.Method.GET, jsonObjectUrl, null,
new Response.Listener<JSONObject>() {
@Override
public void onResponse(JSONObject response) {
//这里也可以Log.i.....,但习惯syso了
System.out.println("response : " + response);
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError arg0) {
System.out.println("------------------网络错误------------------");
}
});
//2.把你的请求添加进来,它要一个Request<JSONObject> arg0,就给它这个参数即可
queue.add(objectRequest);
}
}
2.然后开始写代码
package com.example.myvolley;
import org.json.JSONObject;
import android.os.Bundle;
import android.support.v7.app.ActionBarActivity;
import com.android.volley.Request;
import com.android.volley.RequestQueue;
import com.android.volley.Response;
import com.android.volley.VolleyError;
import com.android.volley.toolbox.JsonObjectRequest;
import com.android.volley.toolbox.Volley;
public class MainActivity extends ActionBarActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
getJson();
}
// 获取Json字符串
public void getJson() {
//1.知道有Volley的存在,调用它的静态方法,一个新的请求队列
RequestQueue queue = Volley.newRequestQueue(this);
String jsonObjectUrl = "http://apis.juhe.cn/goodbook/catalog?dtype=&key=9fd903bc9a46e6c9519ae377f7ee288c";
//3.因为要JSONObject集合,就new JsonObjectRequest
//得到这个集合,
//int method(请求方式), String url(Json数据请求地址), JSONObject jsonRequest(null即可),
//Listener<JSONObject> listener(事件监听,就是拿到响应数据), ErrorListener errorListener(如果错误,就响应这个监听)
//有下面这5个参数
JsonObjectRequest objectRequest = new JsonObjectRequest(
Request.Method.GET, jsonObjectUrl, null,
new Response.Listener<JSONObject>() {
@Override
public void onResponse(JSONObject response) {
//这里也可以Log.i.....,但习惯syso了
System.out.println("response : " + response);
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError arg0) {
System.out.println("------------------网络错误------------------");
}
});
//2.把你的请求添加进来,它要一个Request<JSONObject> arg0,就给它这个参数即可
queue.add(objectRequest);
}
}
相关文章推荐
- 如何用70行Java代码实现深度神经网络算法
- HTTPS跨域访问时,证书导致的问题
- http协议详解
- 网络编程知识(11)--DNS
- HTTP Content-type 对照表___http://tools.jb51.net/table/http_content_type
- okHttp3自用封装
- UFLDL 10 建立分类用深度学习网络 (含梯度弥散的原因)
- 【备份】Java实现忽略SSL认证请求https
- CDN-内容推送网络
- HttpURLConnection实现文件断点续传
- Starting httpd: (13)Permission denied: httpd: could not open error log file
- DNS同时使用TCP和UDP?
- 使用HttpUrlConnection进行post请求上传文件
- OkHttp介绍
- java通过传入HttpServletRequest判断 来源是否是 Pc / Mobile / Ipad
- Linux网络基础命令
- 关于okhttp和retrofit的使用的疑问
- Java Socket 实现HTTP与HTTPS协议发送POST/GET请求
- [转]ping检测网络连接异常
- 网络HTTP请求状态详解