Retrofit用法详解之一(无参数get请求)

Retrofit是Square公司开发的一款针对Android网络请求的框架,Retrofit2底层基于OkHttp实现的.

一、如何使用

    1.配置网络访问权限

    <uses-permission android:name="android.permission.INTERNET"/>

    2.使用Retrofit之前需要先在build gridle中引入三个包,配置如下:

    compile 'com.squareup.retrofit:retrofit:2.0.0-beta2'
      compile 'com.squareup.okhttp:okhttp:2.5.0'
      compile 'com.squareup.okio:okio:1.6.0'
 引入完这三个包就可以使用Retrofit来访问网络了
3.get请求
   (1)Application中添加一个访问网络的静态变量(千万不要网络配置application)  
      public static final String BASE_URL = "http://service.meiyinkeqiu.com/service/";
  (2)使用之前需要先创建一个业务访问接口如:	
      public interface BlueService {
          @GET("ads/cptj")                
           Call<GuangGaoBean> getSearchBooks();
        }
   (3)然后创建一个bean,代码如下:

public class GuangGaoBean {

    private List<AdsBean> ads;

    private List<List<String>> dropdown;

    public List<AdsBean> getAds() {

        return ads;

    }

    public void setAds(List<AdsBean> ads) {

        this.ads = ads;

    }

    public List<List<String>> getDropdown() {

        return dropdown;

    }

    public void setDropdown(List<List<String>> dropdown) {

        this.dropdown = dropdown;

    }

    public static class AdsBean {

        private int id;

        private String imgsrc;

        private String url;

        private String type;

        private int adsorder;

        public int getId() {

            return id;

        }

        public void setId(int id) {

            this.id = id;

        }

        public String getImgsrc() {

            return imgsrc;

        }

        public void setImgsrc(String imgsrc) {

            this.imgsrc = imgsrc;

        }

        public String getUrl() {

            return url;

        }

        public void setUrl(String url) {

            this.url = url;

        }

        public String getType() {

            return type;

        }

        public void setType(String type) {

            this.type = type;

        }

        public int getAdsorder() {

            return adsorder;

        }

        public void setAdsorder(int adsorder) {

            this.adsorder = adsorder;

        }

    }

}

(4)然后就可以访问网络了

new Thread(){

    @Override

    public void run() {

        Retrofit retrofit = new Retrofit.Builder()

                .baseUrl(App.BASE_URL)

                .addConverterFactory(GsonConverterFactory.create())

                .build();

        BlueService service = retrofit.create(BlueService.class);

        service.getSearchBooks().enqueue(new Callback<GuangGaoBean>() {

            @Override

            public void onResponse(Response<GuangGaoBean> response, Retrofit retrofit) {

                Log.e("访问网络",response.body().getAds().size()+"");

            }

            @Override

            public void onFailure(Throwable t) {

            }

        });

    }

}.start();

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值