自定义请求可以参考StringRequest,一共有三步,下面就以自定义一个包含Gson解析的Request–GsonRequest:
(1)写一个GsonRequest继承Request类.
(2)重写parseNetWorkResponse方法来解析服务器响应的数据.
@Override
protected Response<T>parseNetworkResponse(NetworkResponse response) {
try{
/**
* 得到返回的数据
*/
String jsonStr = new String(response.data);
/**
* 转化成对象
*/
return Response.success(gson.fromJson(jsonStr,clazz), HttpHeaderParser.parseCacheHeaders(response));
} catch (JsonSyntaxException e){
return Response.error(new ParseError(e));
}
}
(3)重写deliverRespone方法,将解析的响应数据传递出去给主线程更新UI.
@Override
protected void deliverResponse(T response) {
//将数据传递出去
listener.onResponse(response);
}