使用前的配置
compile 'com.squareup.retrofit2:retrofit:2.0.2' compile 'com.squareup.retrofit2:converter-gson:2.0.2'
1,网络请求接口
@GET("list")
Call<实体类> 方法名(@Query("参数名") String 参数名)
---Call :是Retrofit提供的类,实体类需要自己定义,
@Url: 不要以 / 开头; BaseUrl:总是以 /结尾
2,在类中使用
Retrofit retrofit = new Retrofit.Builder() .baseUrl("http://www.baidu.com/pages/") .addConverterFactory(GsonConverterFactory.create()) .build();
响应实体类 call = retrofit.create(网络请求接口.class);Call<响应实体类> call = 网络访问接口.访问网络的方法(“有参数对应填写参数”);
Call<BedCover> clone = call.clone();clone.enqueue(new Callback<BedCover>() { @Override public void onResponse(Call<BedCover> call, Response<BedCover> response) { if (response.isSuccessful()) { // 是否成功,404,500等错误都会调用onResponse()方法,注意处理这类错误 BedCover body = response.body(); // 得到解析后的实体类对象 Toast.makeText(MainActivity.this, body.toString(), Toast.LENGTH_SHORT).show(); }else { Toast.makeText(MainActivity.this, response.errorBody().toString()+"123", Toast.LENGTH_SHORT).show(); } } @Override public void onFailure(Call<BedCover> call, Throwable t) { Toast.makeText(MainActivity.this, "网络错误", Toast.LENGTH_SHORT).show(); } });
addConverterFactory :配置解析实体类的库,这里用的是GSON,也可以使用其他