【开源中国Android客户端】源码分析 网络数据传输接口

写在前面的话

感谢@火蚁  的回答,以及开源中国所提供的平台    

问题

api/remote文件下的两个类:OSChinaApi和OSChineTeamApi,他们的作用就是获取数据的Api类,阅读之后很多不解 
【开源中国Android客户端】源码分析 网络数据传输接口_第1张图片 
以OSChinaApi中的getBlogList方法为例: 
为什么官方提供的Api中的返回数据类型有三种:[‘json’|’jsonp’|’xml’],必选参数为四个 
【开源中国Android客户端】源码分析 网络数据传输接口_第2张图片

但是代码使用的却不是默认的json类型,而是使用了xml形式,而且代码中第一个参数 type 也并不是文档中所属的dateType,

public static void getBlogList(String type, int pageIndex,
            AsyncHttpResponseHandler handler) {
        RequestParams params = new RequestParams(); params.put("type", type); params.put("pageIndex", pageIndex); params.put("pageSize", AppContext.PAGE_SIZE);
        ApiHttpClient.get("action/api/blog_list", params, handler);
    }

纠结了很久终于在软件作者火蚁的提示下知道了原因问题地址:http://www.oschina.net/question/2313019_2150488 
【开源中国Android客户端】源码分析 网络数据传输接口_第3张图片
【开源中国Android客户端】源码分析 网络数据传输接口_第4张图片

总结:

  1. 上文上笔者提到的官网Api其实是面向大众的OpenAPI,可以选择返回数据类型。
  2. 软件中使用的是开源中国公司内部的API,返回数据只有xml一种格式。

你可能感兴趣的:(源码阅读,开源中国Android客户端)