Retrofit是一个RESTful的HTTP网络请求框架的封装,网络请求的工作本质上是okHttp完成,而Retrofit仅负责网络请求接口的封装。
Retrofit的使用步骤
1、添加Retrofit库的依赖
implementation 'com.squareup.retrofit2:retrofit:2.1.0'
implementation 'com.squareup.retrofit2:converter-gson:2.1.0'
implementation 'com.google.code.gson:gson:2.8.5'
implementation 'com.squareup.retrofit2:adapter-rxjava:2.1.0'
后面三个是可以选择的,分别是数据解析器和gson,以及rxjava支持的依赖。
2、创建用于描述网络请求的接口
public interface JavaApi{
@GET(“areas/csv/100000_province.json”)//通过经纬度获得省信息的接口
Call<JavaBean> getAndroidInfo();//将官方的ResponseBody改成我们自己定的Gson实体类 这样相应请求以后 给回调方法返回的就是实体类了
//GET注解的作用,使用GET方式发送网络请求
//getAndroidInfo() 接受网络请求数据的方法
//其中返回类型是Call<JavaBean> JavaBean是接收数据的类
//如果想直接获得ResponseBody中的内容,可以定义网络请求返回值为Call<ResponseBody>
}
Retrofit将Http请求抽象成Java接口 ,采用注解描述网络请求参数和配置网络请求参数,用动态代理 动态将该接口的注解“翻译”成一个Http请求,最后再执行Http请求。
==注意:==接口中的每个方法的参数都需要使用注解标注,否则会报错。
3、创建Retrofit实例
Retrofit retrofit = new Retrofit