倒入依赖
implementation 'com.squareup.retrofit2:retrofit:2.0.2'
implementation 'com.squareup.okhttp3:okhttp:3.1.2'
implementation 'com.google.code.gson:gson:2.2.4'
implementation 'com.squareup.retrofit2:converter-gson:2.0.0-beta4'
写一个网络数据的bean类
写一个所有接口都一样的接口头 方便调用
public class Constant {
public static final String CONSTANT_GET = "https://www.zhaoapi.cn/";
}
写一个接口 继续拼接往接口头后面拼接的接口
public interface Api {
@GET("product/getProducts")
Call<UserBean> getCall(@Query("pscid") int id);
}
MainActivity中的代码
创建一个retrofit对象将大部分一样的接口头部从constant类中拿出
Retrofit build = new Retrofit.Builder().baseUrl(Constant.CONSTANT_GET) .addConverterFactory(GsonConverterFactory.create()) .build(); 拼接上Api类中的地址部分 Api api = build.create(Api.class); 拼接上Api类中的id Call<UserBean> call = api.getCall(1); 请求 call.enqueue(new Callback<UserBean>() { @Override public void onResponse(Call<UserBean> call, Response<UserBean> response) { String title = response.body().getData().get(0).getTitle(); Toast.makeText(MainActivity.this,title,Toast.LENGTH_SHORT).show(); } @Override public void onFailure(Call<UserBean> call, Throwable t) { Toast.makeText(MainActivity.this,"失败",Toast.LENGTH_SHORT).show(); } });