关于volley网络请求框架乱码问题
2014-11-27 13:55
337 查看
JsonObjectRequest jsonObjectRequest = new JsonObjectRequest(mUrl, null,
new Response.Listener<JSONObject>() {
@Override
public void onResponse(final JSONObject response) {
// 成功获取数据后将数据显示在屏幕上
try {
info = response.toString();
// info = response.getString("UTF-8");
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Log.d("TAG", info);
runOnUiThread(new Runnable() {
@Override
public void run() {
if (null != info)
mTv_weather_info.setText(info);
}
});
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
Log.d("TAG", error.getMessage(), error);
}
}) {
@Override
protected Response<JSONObject> parseNetworkResponse(
NetworkResponse response) {
try {
JSONObject jsonObject = new JSONObject(
new String(response.data, "UTF-8"));
return Response.success(jsonObject, HttpHeaderParser.parseCacheHeaders(response));
} catch (UnsupportedEncodingException e) {
return Response.error(new ParseError(e));
} catch (Exception je) {
return Response.error(new ParseError(je));
}
}
};
可以看到通过重写parseNetworkRespones方法,得到了最原始的byte[]数据,进而设置编码格式,在获取方法中成功获取中文内容。
new Response.Listener<JSONObject>() {
@Override
public void onResponse(final JSONObject response) {
// 成功获取数据后将数据显示在屏幕上
try {
info = response.toString();
// info = response.getString("UTF-8");
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Log.d("TAG", info);
runOnUiThread(new Runnable() {
@Override
public void run() {
if (null != info)
mTv_weather_info.setText(info);
}
});
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
Log.d("TAG", error.getMessage(), error);
}
}) {
@Override
protected Response<JSONObject> parseNetworkResponse(
NetworkResponse response) {
try {
JSONObject jsonObject = new JSONObject(
new String(response.data, "UTF-8"));
return Response.success(jsonObject, HttpHeaderParser.parseCacheHeaders(response));
} catch (UnsupportedEncodingException e) {
return Response.error(new ParseError(e));
} catch (Exception je) {
return Response.error(new ParseError(je));
}
}
};
可以看到通过重写parseNetworkRespones方法,得到了最原始的byte[]数据,进而设置编码格式,在获取方法中成功获取中文内容。
相关文章推荐
- 关于Volley网络框架中文乱码的问题
- 关于Volley网络请求框架空指针异常问题
- 解决Volley请求框架中文乱码问题
- Android Volley框架(三):解决Volley请求服务器返回中文乱码问题
- 关于HttpUrlConnection网络请求之返回结果的中文乱码原因的探索
- 关于应用Volley框架 + Android 网络通信框架Volley简介(Google IO 2013)
- iOS 网络请求框架AFNetworking使用方法(欢迎提建议和分享遇到的问题)
- Android异步网络请求开源框架Volley
- Android 网络请求框架android-async-http问题
- 关于spring mvc ajax请求乱码问题 StringHttpMessageConverter
- 网络请求框架---Volley
- 关于页面请求中文乱码问题
- 关于android Volley网络通信框架的学习
- android网络开源框架volley(三)——请求队列是主线
- 关于volley请求失败会重新请求问题
- 关于添加struts1.2框架的输入中文的乱码问题
- 关于Http网络请求一直出错的问题
- Android Volley网络请求框架 实现post方法并带Map参数上传
- ios--关于子线程发送网络请求接受不到响应问题
- 网络请求后关于刷新界面UI的问题