//先添加依赖
implementation 'com.squareup.retrofit2:retrofit:2.0.0'
implementation 'com.squareup.retrofit2:converter-gson:2.0.2'
package com.bawei.retrofit.api;
/**
*/
public class Api {
//根路径
//http://api.expoon.com/AppNews/getNewsList/type/1/p/2
public static final String news = "http://api.expoon.com/AppNews/";
}
//动态代理
package com.bawei.retrofit.api;
import com.bawei.retrofit.bean.NewsBean;
import retrofit2.Call;
import retrofit2.http.GET;
import retrofit2.http.Path;
import retrofit2.http.Query;
/**
* Retrofit接口动态代理
*/
public interface ApiService {
//接口的请求方式
@GET("getNewsList/type/1/p/{page}")
//
Call<NewsBean> getNews(@Path("page") int page);
}
package com.bawei.retrofit;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.widget.Toast;
import com.bawei.retrofit.api.Api;
import com.bawei.retrofit.api.ApiService;
import com.bawei.retrofit.bean.NewsBean;
import java.util.List;
import retrofit2.Call;
import retrofit2.Callback;
import retrofit2.Response;
import retrofit2.Retrofit;
import retrofit2.converter.gson.GsonConverterFactory;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//获取根路径
Retrofit retrofit = new Retrofit.Builder()
.baseUrl(Api.news)
.addConverterFactory(GsonConverterFactory.create())
.build();
//添加动态代理
ApiService apiService = retrofit.create(ApiService.class);
//赋值占位符
Call<NewsBean> news = apiService.getNews(2);
//开启异步请求
news.enqueue(new Callback<NewsBean>() {
@Override
public void onResponse(Call<NewsBean> call, Response<NewsBean> response) {
List<NewsBean.DataBean> data = response.body().getData();
String news_title = data.get(0).getNews_title();
Toast.makeText(MainActivity.this, ""+news_title, Toast.LENGTH_SHORT).show();
}
@Override
public void onFailure(Call<NewsBean> call, Throwable t) {
}
});
}
}
Retrofit网络请求
最新推荐文章于 2024-04-10 01:47:34 发布