【发布时间】:2016-11-13 15:30:43
【问题描述】:
从一个wordpress站点,使用json rest api,我们得到整个站点的json。我想为android加载所有类别的前10个帖子的json。我正在使用 volley 加载 json 数组,但它无法加载整个数组响应,因为它的大小很大。我想要前 10 个帖子,当我单击加载更多时,我想要第 11 个帖子到第 20 个帖子的 json。我可以这样做吗?
目前我的网址是http://www.example.com/wp-json/posts
我在下面的代码中请求
JsonArrayRequest request = new JsonArrayRequest(Request.Method.GET,
baseUrl,
(String) null,
new Response.Listener<JSONArray>() {
@Override
public void onResponse(JSONArray response) {
Log.d("json",response.toString());
listRecentPost = parseJsonResponse(response);
Log.d("LSN", listRecentPost.isEmpty() + "");
// If any data is avialable
if (!listRecentPost.isEmpty()) {
postAdapter.setRecentPost(listRecentPost);
postAdapter.notifyDataSetChanged();
/*
suppose data connection is off so error image and text will show
* but when my connection will be okk then i need to disable this image and error text
* */
errorImage.setVisibility(View.GONE);
errorMsg.setVisibility(View.GONE);
}
else {
errorMsg.setVisibility(View.VISIBLE);
errorMsg.setText("No Post Available");
}
//disable loading icon
swipeRefreshLayout.setRefreshing(false);
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
Log.d("LSN", error.toString() + "VolleyError");
// enable error iamge and text
errorImage.setVisibility(View.VISIBLE);
errorMsg.setVisibility(View.VISIBLE);
if (error instanceof TimeoutError || error instanceof NoConnectionError) {
errorMsg.setText(error.toString());
} else if (error instanceof AuthFailureError) {
errorMsg.setText(error.toString());
} else if (error instanceof ServerError) {
errorMsg.setText(error.toString());
} else if (error instanceof NetworkError) {
errorMsg.setText(error.toString());
} else if (error instanceof ParseError) {
errorMsg.setText(error.toString());
}
//again try to load data after 30 seconds
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
swipeRefreshLayout.setRefreshing(false);
swapeRefresh();
}
}, 30000);
}
});
目前我遇到了 com.android.volley.TimeoutError 之类的异常
JsonArrayRequest 中 requestBody 参数的作用是什么?为什么我们在这里使用 null?
用代码解释对我来说会更好。
提前致谢。
【问题讨论】:
标签: java android json wordpress android-volley