初识Retrofit

添加依赖

//引入retrofit
    compile 'com.squareup.retrofit2:retrofit:2.1.0'
//引入json转换器,方便将返回的数据转换为json格式
    compile 'com.squareup.retrofit2:converter-gson:2.1.0'

权限

    
    
    
    
    
    

retrofit介绍

互联网上的资料很多很杂,在收集资料初步了解后,我先粗糙地认为:Retrofit 适用于与 Web 服务器提供的 API 接口进行通信。

当你想要做更多的 HTTP 操作时,可以使用 OkHttp,Retrofit的底层也是由 OkHttp 网络加载库来支持的。

关于 Retrofit 的原理,有三个十分重要的概念:『注解』,『动态代理』,『反射』。将会在以后逐步进行分析

初步使用

假设我们首先要访问这个URL:http://www.jianshu.com/u/6b74d8580d64

注解
@GET和@Path

1.首先定义一个baseUrl:(http://www.jianshu.com)
2.定义get请求

public interface APIInterface {
  @GET("/u/{id}")
  Call getData(@Path("id") String id);
}

这里出现了@GET和@Path注解
@GET的作用就是说明请求方式,而后面的参数相当于baseUrl+/u/{id};
@Path的作用相当于占位符,由它的参数指定{id}的值,例如这里如果传入的参数id值为6b74d8580d64,那么此时访问的链接即为http://www.jianshu.com/u/6b74d8580d64

@Query和QueryMap

@Query作用是添加一个参数

//如12306的查询接口https://kyfw.12306.cn/otn/lcxxcx/query?
//purpose_codes=ADULT&queryDate=2016-03-18&from_station=BJP&to_station=CDW,写法如下:
@GET("/otn/lcxxcx/query")
Call query(@Query("purpose_codes") String codes, @Query("queryDate") String date,
@Query("from_station") String from, @Query("to_station") String to)

@QueryMap作用同@Query,但它可以添加多个键值对参数
未完待续

你可能感兴趣的:(初识Retrofit)