这里通过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 乱码问题解决~~~