Retrofit

来源:互联网 发布:java 写一句话木马 编辑:程序博客网 时间:2024/06/05 23:01
定义一个接口类:
public interface IUserBiz {    @GET("weather/index?format=2&key=e7a94c85b65930fdb88bc0698416287c&cityname=北京")    Call<Bean> getUsers();}
Mainactivity:
public class MainActivity extends AppCompatActivity {    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        getData();    }    public void  getData(){        OkHttpClient okHttpClient= new OkHttpClient.Builder()                .addNetworkInterceptor(new LoggingInterceptor())                .build();        Retrofit retrofit = new Retrofit.Builder()                .baseUrl("http://v.juhe.cn/")                .client(okHttpClient)                .addConverterFactory(GsonConverterFactory.create())                .build();        IUserBiz userBiz = retrofit.create(IUserBiz.class);        Call<Bean> call = userBiz.getUsers();        call.enqueue(new Callback<Bean>() {            @Override            public void onResponse(Call<Bean> call, Response<Bean> response) {                Log.d("myMessage",response.body().getResult().getFuture().get(0).getWeek());            }            @Override            public void onFailure(Call<Bean> call, Throwable t) {            }        });    }    static class LoggingInterceptor implements Interceptor{        @Override        public okhttp3.Response intercept(Chain chain) throws IOException {            Request request = chain.request();            Headers headers = request.headers();            for (int i = 0; i <headers.size() ; i++) {                String name = headers.name(i);                String value = headers.value(i);                Log.d("My","name="+name+"value="+value);            }            okhttp3.Response response = chain.proceed(request);            return response;        }    }}