1.前言
在okhttp框架中,我们可以大幅度简化网络的请求,实现基本的网络数据传输操作,但是安卓开发的前辈们感觉还不够简单,因此开发出了retrofit来实现通过注解的方式去实现相关的网络请求。
2.添加依赖
依赖添加:
implementation 'com.squareup.retrofit2:retrofit:parent-
为了简化代码,我们使用一些转化器:通过gsonformat插件配合,我们可以很便捷的生成相关的代码
implementation 'com.squareup.retrofit2:converter-gson:2.6.2'
3.基本使用
public interface TestInterface {
@GET("/get请求地址")//get请求地址
Call<JsonResult> getJson();
//JsonResult为服务器返回的bean类,可以通过gsonformat生成
}
public void getJson(View view) {
Retrofit retrofit = new Retrofit.Builder()
.baseUrl("目标url")
.addConverterFactory(GsonConverterFactory.create())
.build();
TestInterface testInterface = retrofit.create(TestInterface.class);
Call task = testInterface.getJson();
task.enqueue(new Callback() {
@Override
public void onResponse(Call call,Response response) {
Log.d(TAG,"response " + response.body());
}
@Override
public void onFailure(Call call,Throwable t) {
Log.d(TAG,"exception " + t.toString());
}
});
除了上述的get注解之外还有很多种注解,在网上能找到如下
注解的注入方式有很多,大体分为method注解与parma注解,注解放在我们自定义的接口方法中,可以实现很便捷的参数注入。