Retrofit网络请求框架

//以下为Retrofit简单的使用案例,   (GET无参同步)

使用Retrofit的步骤
1、添加retrofit和converter-gson的依赖
compile 'com.squareup.retrofit2:retrofit:2.3.0'
compile 'com.squareup.retrofit2:converter-gson:2.3.0'

 2、创建一个接口类 存的是业务方法

            改业务方法是抽象方法 该方法的返回值是call对象 call对象中的泛型就是服务器响应结果对应的JavaBean

3、如果是get请求 需要在方法上使用@GET注解进行标识 表示这是一个get请求 括号中传递的是接口地址

public interface PandaService {
    //声明的全部是抽象方法
    //怎么来声明网络请求 业务方法
    //存放的是URL地址 该URL地址不包含服务器地址 仅包含业务方法的地址(接口地址)
    //接口地址不能以/开头
    @GET("data/Android/10/1")
    Call<AndroidNews> loadNewsList();

}



4、创建Retrofit对象 也是通过构建者模式进行创建 创建的时候需要配置服务器地址和解析器


         创建Retrofit对象 配置服务器地址 必须以/结尾
        Retrofit retrofit = new Retrofit.Builder()
                .baseUrl("http://gank.io/api/")//配置服务器地址
                .addConverterFactory(GsonConverterFactory.create())//添加解析器 告诉Retrofit使用Gson来进行数据解析

                .build();



5、创建接口对象,调用业务方法发送网络请求
retrofit.create(要创建的类.class);  返回值类型就是 要创建类的对象
发送网络请求可以发送同步或者异步请求 服务器响应的结果也是存放在response对象中
response.body() 获取就是解析数据后的JavaBean对象

        //通过Java的动态代理来进行对象的创建
        PandaService pandaService = retrofit.create(PandaService.class);
        Call<AndroidNews> call = pandaService.loadNewsList();
        try {
            Response<AndroidNews> response = call.execute();
            List<AndroidNews.ResultsBean> results = response.body().getResults();
            for (AndroidNews.ResultsBean bean : results){
                Log.d("RetrofitActivity", bean.getDesc());
            }
        } catch (IOException e) {
            e.printStackTrace();
        }




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值