zoukankan      html  css  js  c++  java
  • 解决Volley请求网络数据返回的数据乱码

    本人可参考http://tieba.baidu.com/p/4039693566

    以往一般我们如下写就可以了

    StringRequest request=new StringRequest(url, new Response.Listener<String>() {
    @Override
    public void onResponse(String result) {
        myModelList= JSON.parseObject(result, new TypeReference<List<MyModel>>() {
            });

        myModelAdapter= newMyModelAdapter(myModelList);
            list_market.setAdapter(myModelAdapter);
          }
      },new Response.ErrorListener(){
      @Override
      public void onErrorResponse(VolleyError volleyError) {
    }
    });
    Volley.newRequestQueue(activity).add(request);

    但具体原因result为什么会出现乱码没有时间去研究,解决方法,新建一个类如
    MyStringRequest重写volley的StringRequest,如下,重写完后,将上面的StringRequest替换成MyStringRequest
    public class MyStringRequest extends StringRequest {

    public MyStringRequest(String url, Response.Listener<String> listener,
    Response.ErrorListener errorListener) {
    super(url, listener, errorListener);
    }

    /**
    * 重写以解决乱码问题
    */
    @Override
    protected Response<String> parseNetworkResponse(NetworkResponse response) {
    String str = null;
    try {
    str = new String(response.data, "utf-8");
    } catch (UnsupportedEncodingException e) {
    e.printStackTrace();
    }
    return Response.success(str,
    HttpHeaderParser.parseCacheHeaders(response));
    }
    }
     
  • 相关阅读:
    PHP之项目环境变量设置
    nginx相关服务实践
    模拟器的基本使用
    Redis常见问题汇总
    用OpenResty搭建高性能服务端
    Lua代码规范
    Lua之基础篇
    如何设计一个高性能短链系统?
    通过双 key 来解决缓存并发问题
    Golang常见问题汇总
  • 原文地址:https://www.cnblogs.com/wangoublog/p/5287764.html
Copyright © 2011-2022 走看看