【发布时间】:2017-05-24 19:02:01
【问题描述】:
我按照this 问题在不同的活动中重用凌空服务,但他只是使用 JSONOBject 来获取和发布请求,我需要返回一个 JSONArray,因为我的请求返回了超过 1 个项目。
所以我的 Volley Service 上有这样的内容:`public void
getDataVolley(final String requestType, String url){
Log.d("TRIED","TRIED0");
try {
Log.d("TRIED","TRIED");
RequestQueue queue = Volley.newRequestQueue(mContext);
JsonArrayRequest jsonArray = new JsonArrayRequest(Request.Method.GET, url,null, new Response.Listener
() {
@Override
public void onResponse(JSONArray response) {
Log.d("TRIED","TRIED2");
if(mResultCallback != null)
mResultCallback.notifySuccess(requestType, response);
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
Log.d("TRIED",error.toString());
}
});
jsonArray.setRetryPolicy(new DefaultRetryPolicy(60000, DefaultRetryPolicy.DEFAULT_MAX_RETRIES, DefaultRetryPolicy.DEFAULT_BACKOFF_MULT));
queue.add(jsonArray);
}catch(Exception e){
Log.d("TRIED","TRIED4");
}
}`
所以我在我的主要活动中使用此服务,如下所示:
初始化
initPlants();
Log.d("RESULTCALL",mResultCallback.toString());
mVolleyService = new VolleyService(mResultCallback,this);
mVolleyService.getDataVolley(GETREQUEST,URL);
回调
void initPlants(){
mResultCallback = new IResult() {
@Override
public void notifySuccess(String requestType, JSONArray response) {
}
@Override
public void notifyError(String requestType,VolleyError error) {
Log.d("GJJJ","GJJJ1");
}
};
}
public void showToast(String message){
Toast toast = Toast.makeText(SimiliarPhotos.this,message, Toast.LENGTH_LONG);
toast.show();
}
问题是我的响应(volleyService)的第二个参数有错误,说它需要一个 JsonObject。
我的 IResult 想要一个 JSONObject 而不是 JSONArray
【问题讨论】:
-
你能在这里发表你的回应吗?最好了解一下您的回复会是什么样子。
标签: java android http android-studio android-volley