使用Volley StringRequest返回String 编码格式错误乱码问题解决
2016-06-30 00:18
471 查看
这里通过volley的stringRequest 来获取 日报 html文本
RequestQueue queue = Volley.newRequestQueue(this);
MyStringRequest request = new MyStringRequest(url, new Response.Listener<String>() {
@Override
public void onResponse(String s) {
getData=s;
handler.sendEmptyMessage(0);
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError volleyError) {
}
});
queue.add(request);
可以看到 这里的StringRequest经过了重写
代码如下
/*
*
* 描 述:
* 作 者:ksheng
* 时 间:
*/
public class MyStringRequest extends StringRequest {
public MyStringRequest(int method, String url, Response.Listener<String> listener, Response.ErrorListener errorListener) {
super(method, url, listener, errorListener);
}
public MyStringRequest(String url, Response.Listener<String> listener, Response.ErrorListener errorListener) {
super(url, listener, errorListener);
}
@Override
protected Response<String> parseNetworkResponse(NetworkResponse response) {
// TODO Auto-generated method stub
String str = null;
try {
str = new String(response.data,"utf-8");
} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return Response.success(str, HttpHeaderParser.parseCacheHeaders(response));
}
}
将返回值强制转化为编码格式“utf-8”
OK 乱码问题解决~~~
RequestQueue queue = Volley.newRequestQueue(this);
MyStringRequest request = new MyStringRequest(url, new Response.Listener<String>() {
@Override
public void onResponse(String s) {
getData=s;
handler.sendEmptyMessage(0);
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError volleyError) {
}
});
queue.add(request);
可以看到 这里的StringRequest经过了重写
代码如下
/*
*
* 描 述:
* 作 者:ksheng
* 时 间:
*/
public class MyStringRequest extends StringRequest {
public MyStringRequest(int method, String url, Response.Listener<String> listener, Response.ErrorListener errorListener) {
super(method, url, listener, errorListener);
}
public MyStringRequest(String url, Response.Listener<String> listener, Response.ErrorListener errorListener) {
super(url, listener, errorListener);
}
@Override
protected Response<String> parseNetworkResponse(NetworkResponse response) {
// TODO Auto-generated method stub
String str = null;
try {
str = new String(response.data,"utf-8");
} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return Response.success(str, HttpHeaderParser.parseCacheHeaders(response));
}
}
将返回值强制转化为编码格式“utf-8”
OK 乱码问题解决~~~
相关文章推荐
- 使用C++实现JNI接口需要注意的事项
- Android IPC进程间通讯机制
- Android Manifest 用法
- [转载]Activity中ConfigChanges属性的用法
- Android之获取手机上的图片和视频缩略图thumbnails
- Android之使用Http协议实现文件上传功能
- Android学习笔记(二九):嵌入浏览器
- android string.xml文件中的整型和string型代替
- i-jetty环境搭配与编译
- android之定时器AlarmManager
- android wifi 无线调试
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- android 代码实现控件之间的间距
- android FragmentPagerAdapter的“标准”配置
- Android"解决"onTouch和onClick的冲突问题
- android:installLocation简析
- android searchView的关闭事件
- SourceProvider.getJniDirectories