依赖
implementation ‘com.squareup.retrofit2:retrofit:2.0.0’
implementation ‘com.squareup.retrofit2:converter-gson:2.0.2’
Api
public static final String urlOne="http://mnews.gw.com.cn/wap/";
ApiSreviser
@GET("data/news/news/mobile/jbgg/page_{page}.json")
Call<List<Bean>> getshow(@Path("page")int page);
private void getone() {
//创建Retrofit
Retrofit retrofit=new Retrofit.Builder()
.baseUrl(Api.Urlone)
.addConverterFactory(GsonConverterFactory.create())
.build();
//java动态动态代理的方式得到代理对象
AipSrevice aipSrevice = retrofit.create(AipSrevice.class);
//通过代理对象执行的get请求返回call
Call<OneBean> call = aipSrevice.geturione(page);
call.enqueue(new Callback<OneBean>() {
@Override
public void onResponse(Call<OneBean> call, Response<OneBean> response) {
//成功的方法 //主线程
OneBean body = response.body();
String url = body.results.get(0).getUrl();
/* Toast.makeText(MainActivity.this, url, Toast.LENGTH_SHORT).show();*/
}
@Override
public void onFailure(Call<OneBean> call, Throwable t) {
}
});
工具类
//单例
private static Util util;
private Util() {
}
public static Util getUtil(){
if (util==null){
synchronized (Util.class){
if (util==null){
util = new Util();
}
}
}
return util;
}
返回Retrofit
public static Retrofit getRetrofit(String url){
Retrofit builder = new Retrofit.Builder()
.baseUrl(url)
.addConverterFactory(GsonConverterFactory.create())
.build();
return builder;
}
//
public <T>T getserviser(String url,Class<T>service){
Retrofit retrofit = getRetrofit(url);
T t = retrofit.create(service);
return t;
}
调用
ApiSreviser getserviser = Util.getUtil().getserviser(Api.urlOne, ApiSreviser.class);
Call<List<Bean>> call = getserviser.getshow(page);
//网络判断工具
public static boolean isnet(Context context){
//获取网络状态链接管理器
ConnectivityManager co = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
//得到网络信息
NetworkInfo info = co.getActiveNetworkInfo();
if(info!=null){
return info.isAvailable();
}
return false;
}