1,添加依赖
compile 'com.squareup.retrofit2:retrofit:2.1.0'
//依赖和retrofit对应的gson解析类库,配置了就拥有了json解析的功能
compile 'com.squareup.retrofit2:converter-gson:2.0.2'
2,Retrofit实现简单get使用
-
访问接口文档

【1】定义Api封装url路径
public interface Api {
String SERVER_HOST = "http://192.168.101.78:8080/apitest/";
String TEST = SERVER_HOST+"test";
String LOGIN = SERVER_HOST+"login";
String POST_JSON = SERVER_HOST+"postJson";
String UPLOAD = SERVER_HOST+"upload";
String UPLOAD_MULTI = SERVER_HOST+"uploadMulti";
String IMAGE = SERVER_HOST+"image";
}
【2】定义接口,@GET是请求方式,("text")封装着访问路径
-
调用Retrofit构建时,设置baseUrl +("text") 来拼接访问路径(baseUrl设置时。要求url必须以/结尾)
-
Call<Stu> ,Stu 是bean对象 。暴露出去的封装对象。
public class Stu {
public String nickname;
public String name;
public String age;
public String gender;
}
/**
*
* 定义当前项目的所有的业务请求方法,比如登录请求,获取商品列表的请求等
*/
public interface xiaoshuaiApi {
@GET("test")
Call<Stu> getProductList();
}
【3】MainActivity 中获取retrofit实例
-
动态代理
//1.创建Retrofit实例对象
retrofit = new Retrofit.Builder()
//设置服务器主机地址,要求url必须以/结尾
.baseUrl("http://192.168.101.78:8080/apitest/")
//使用Gson作为json数据的转换器
.addConverterFactory(GsonConverterFactory.create())
.build();
//2.创建接口的实现类对象:让retrofit创建一个实例对象
//Retrofit内部是通过动态代理来创建实例对象,并且监听对象方法的调用;
//当我们调用业务方法时,Retrofit内部就获取方法的注解信息,这些信息
//包含的请求方式,url,和请求参数等,于是它会自动的利用okhttp发送这些请求
xiaoshuaiApi = retrofit.create(xiaoshuaiApi.class);
//3.得到的是请求的封装对象,此时请求还没有执行呢,这个请求中封装了url和参数,
//以及你期望解析的类型等
Call<Stu> stuCall = xiaoshuaiApi.getProductList();
//4.执行请求
// stuCall.execute();//同步执行请求
stuCall.enqueue(new Callback<Stu>() {
@Override
public void onResponse(Call<Stu> call, Response<Stu> response) {
Stu stu = response.body();
tvResult.setText("nickname:"+stu.nickname);
}
@Override
public void onFailure(Call<Stu> call, Throwable t) {
tvResult.setText(t.getMessage());
}
});
}
本文详细介绍了如何使用Retrofit实现GET请求。首先,需要添加依赖。接着,通过定义Api接口,使用@GET注解指定请求方式和路径。在构建Retrofit实例时,设置baseUrl并拼接接口路径。最后,在MainActivity中获取Retrofit实例,通过动态代理调用接口方法。
1410

被折叠的 条评论
为什么被折叠?



