【Android】Retrofit 2.0 的使用

一、概述Retrofit是Square公司开发的一个类型安全的Java和Android 的REST客户端库。来自官网的介绍:

A type-safe HTTP client for Android and Java

  • Rest API是一种软件设计风格,服务器作为资源存放地。客户端去请求GET,PUT, POST,DELETE资源。并且是无状态的,没有session的参与。关于REST的介绍可以参考维基百科
  • retrofit模型如下:(来自如何使用Retrofit写一个Android的REST客户端的小教程)

  • retrofit模型

    1) POJO或模型实体类 : 从服务器获取的JSON数据将被填充到这种类的实例中。
    2) 接口 : 我们需要创建一个接口来管理像GET,POST...等请求的URL,这是一个服务类。
    3) RestAdapter类 : 这是一个REST客户端(RestClient)类,retrofit中默认用的是Gson来解析JSON数据,你也可以设置自己的JSON解析器。

    二、原理

    在发起请求时,整个框架主要通过Call来封装每一次的请求。
    调用同步方法时,会使用应用线程来发送请求;
    调用异步方法时会通过 OkHttp 的 Dispatcher 提供的线程来执行请求。

    Dispatcher:Dispatcher内部实现了懒加载无边界限制的线程池方式,同时该线程池采用了SynchronousQueue这种阻塞队列。SynchronousQueue每个插入操作必须等待另一个线程的移除操作,同样任何一个移除操作都等待另一个线程的插入操作。显然这是一种快速传递元素的方式,也就是说在这种情况下元素总是以最快的方式从插入者(生产者)传递给移除者(消费者),这在多任务队列中是最快处理任务的方式。

    二、使用

      • 添加依赖(gradle)或导jar包
        添加依赖
        在modul的build文件下的dependencies中添加
    1 compile 'com.squareup.retrofit2:retrofit:2.0.2' 2 compile 'com.squareup.retrofit2:converter-gson:2.0.2'
      • 点击Sync Now
        (或)导jar包,点击下载
        retrofit-2.0.0-beta2.jar| Retrofit库
        converter-gson-2.0.0-beta2_.jar | Gson解析库
        gson-2.4.jar | Gson解析库
        okhttp-2.5.0.jar | Okhttp请求库
        okio-1.6.0.jar | Okhttp请求库
        说明:
        Retrofit依赖于okhttp,所以需要集成okhttp
        API返回的数据为JSON格式,在此我使用的是Gson对返回数据解析
      • 添加权限
        由于是网络请求,需要在manifest中添加网络请求的权限
  • 相关内容推荐