您的位置:首页 > 理论基础 > 计算机网络

使用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);
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: