Volley---Ace的理解
来源:互联网 发布:淘宝发货后怎么改地址 编辑:程序博客网 时间:2024/05/17 22:50
转载至:http://blog.csdn.net/cym492224103/article/details/38677063
1.Volley中使用过程中会遇到的坑。
(1)服务器返回数据为乱码;<解决办法> 重写parseNetworkResponse方法改变返回头参数解决乱码问题,主要是看服务器编码,如果服务器编码不是UTF-8的话那么就需要自己转换,反之则不需要 。
伪代码:
- private void loadGetStr(String url) {
- StringRequest srReq = new StringRequest(Request.Method.GET, url,
- new StrListener(), new StrErrListener()) {
- protected final String TYPE_UTF8_CHARSET = "charset=UTF-8";
- // 重写parseNetworkResponse方法改变返回头参数解决乱码问题
- // 主要是看服务器编码,如果服务器编码不是UTF-8的话那么就需要自己转换,反之则不需要
- @Override
- protected Response<String> parseNetworkResponse(
- NetworkResponse response) {
- try {
- String type = response.headers.get(HTTP.CONTENT_TYPE);
- if (type == null) {
- type = TYPE_UTF8_CHARSET;
- response.headers.put(HTTP.CONTENT_TYPE, type);
- } else if (!type.contains("UTF-8")) {
- type += ";" + TYPE_UTF8_CHARSET;
- response.headers.put(HTTP.CONTENT_TYPE, type);
- }
- } catch (Exception e) {
- }
- return super.parseNetworkResponse(response);
- }
- };
- srReq.setShouldCache(true); // 控制是否缓存
- startVolley(srReq);
- }
其中startVolley函数代码为:
- // 添加及开始请求
- private void startVolley(Request req) {
- // 设置超时时间
- // req.setRetryPolicy(new DefaultRetryPolicy(20 * 1000, 1, 1.0f));
- // 将请求加入队列
- mQueue.add(req);
- // 开始发起请求
- mQueue.start();
- }
0 0
- Volley---Ace的理解
- Android Volley的理解
- Android Volley 带你从源码的角度理解Volley
- Volley理解
- 关于volley的一点自己的理解
- volley中ImageLoader的理解和扩张
- Volley框架的初步理解(一)
- 对Volley网络框架的一些理解
- 从源码的角度理解Volley
- ACE-ACE的安装
- ACE框架理解(一)
- ACE和TAO 我的理解与感悟
- 从我的角度理解ACE(一) -- ACE_Reactor
- ACE和TAO 我的理解与感悟
- ACE框架理解(二)服务以及配置的设计空间
- Android Volley完全解析(四),带你从源码的角度理解Volley
- Android Volley完全解析(四),带你从源码的角度理解Volley
- [原]Android Volley完全解析(四),带你从源码的角度理解Volley
- ubuntu下安装scrapy最新版本
- 程序闪退情景一
- python django 初始化数据库时提示unknow command:'syncdb'
- 写在最前面的话
- 61,对象作为返回值
- Volley---Ace的理解
- JDK目录结构
- mybatis(12) spring和mybatis整合
- 趣味C语言
- 一个正则表达式分析(python)
- 每天一个命令
- 入门训练 Fibonacci数列
- 开始学习Python,设置环境和编译一个简单的程序
- 恒拓开源笔试题