码迷,mamicode.com
首页 > 其他好文 > 详细

Retrofit的使用

时间:2016-05-29 18:26:59      阅读:186      评论:0      收藏:0      [点我收藏+]

标签:

参照文档:http://gank.io/post/56e80c2c677659311bed9841

一、创建Retrofit

技术分享
        mRetrofit = new Retrofit.Builder()
                .baseUrl(URL_PATH)//设置URL地址
                .addConverterFactory(GsonConverterFactory.create())//设置使用Gson解析
                .addCallAdapterFactory(RxJavaCallAdapterFactory.create())//设置使用RXJAVA的形式,如果不设置则为OkHttp的模式
                .build();//创建Retrofit
创建Retrofit

二、设置接收使用的javaBean(成员变量名为json的键,如果是jsonArray则需要使用List<>封装)

技术分享
public class HttpResult<T> {

    private int count;
    private int start;
    private int total;
    private String title;

    //用来模仿Data
    private T subjects;


    public int getCount() {
        return count;
    }

    public void setCount(int count) {
        this.count = count;
    }

    public int getStart() {
        return start;
    }

    public void setStart(int start) {
        this.start = start;
    }

    public int getTotal() {
        return total;
    }

    public void setTotal(int total) {
        this.total = total;
    }

    public String getTitle() {
        return title;
    }

    public void setTitle(String title) {
        this.title = title;
    }


    public T getSubjects() {
        return subjects;
    }

    public void setSubjects(T subjects) {
        this.subjects = subjects;
    }


    @Override
    public String toString() {
        StringBuffer sb = new StringBuffer();
        sb.append("title=" + title + " count=" + count + " start=" + start);
        if (null != subjects) {
            sb.append(" subjects:" + subjects.toString());
        }
        return sb.toString();
    }
}
JavaBean

三、设置传输接口

技术分享
public interface DouBanApi {
    @GET("top250")//变量地址

    Observable<HttpResult<List<Subject>>> getMovies(@Query("start")int start,@Query("count")int count);
 }//Query表示需要上传的参数名
View Code

四、设置回调接口

技术分享
   DouBanApi douBanApi = mRetrofit.create(DouBanApi.class);
        Observable<HttpResult<List<Subject>>> observable = douBanApi.getMovies(start,count);
        observable.subscribeOn(Schedulers.io())
                .observeOn(AndroidSchedulers.mainThread())
                .subscribe(new Subscriber<HttpResult<List<Subject>>>() {
                    @Override
                    public void onCompleted() {

                    }

                    @Override
                    public void onError(Throwable e) {

                    }

                    @Override
                    public void onNext(HttpResult<List<Subject>> listHttpResult) {

                    }
                });
    }
View Code

 

Retrofit的使用

标签:

原文地址:http://www.cnblogs.com/rookiechen/p/5539821.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!