分页加载 post拼接

来源:互联网 发布:阿里云 专线接入 编辑:程序博客网 时间:2024/06/05 17:22
通过的自己的的接口来分析能不能分页加载的功能,如果能就page拼接,根据自己需求
    @GET("?key=e539283e9a1d63f915398bd38b12c38a&num=10&page=1")    Observable<TianBean> gettian(@Query("page") int page);
//对应的recycleview
    xr.setLoadingListener(new XRecyclerView.LoadingListener() {            @Override            public void onRefresh() {                page=1;                String url= Integer.toString(page);                mypresenter.geturl(url);                adapter.notifyDataSetChanged();                xr.refreshComplete();            }            @Override            public void onLoadMore() {                page++;                String uu=Integer.toString(page);                mypresenter.geturl(uu);                adapter.notifyDataSetChanged();                xr.refreshComplete();            }        });    }

   mypresenter.geturl("1");


对应的post拼接


public class Api {   /* public static final String HOME_URL="http://api.expoon.com/AppNews/getNewsList/";*/    //http://api.svipmovie.com/front/columns/getVideoList.do?catalogId=402834815584e463015584e539330016&pnum=1    public static final String HOME_URL="http://api.svipmovie.com/front/";}


public interface ApiService {      //http://api.svipmovie.com/front/columns/getVideoList.do?catalogId=402834815584e463015584e539330016&pnum=1    @POST    Observable<Newss> getHomess(@Url String url, @QueryMap  Map<String,String> map);}


 @Override    public void getUrl(String url) {        list = new ArrayList<>();        HashMap<String,String> map = new HashMap<>();        map.put("catalogId","402834815584e463015584e539330016");        map.put("pnum","1");        Retrofit retrofit = new Retrofit.Builder().baseUrl(url).addConverterFactory(GsonConverterFactory.create()).addCallAdapterFactory(RxJavaCallAdapterFactory.create()).build();        ApiService apiService = retrofit.create(ApiService.class);        Observable<Newss> homes = apiService.getHomess(url+"columns/getVideoList.do",map);        homes.subscribeOn(Schedulers.io())                .observeOn(AndroidSchedulers.mainThread())                .subscribe(new Observer<Newss>() {                    @Override                    public void onCompleted() {                    }                    @Override                    public void onError(Throwable e) {                        Log.d("mylog", "onNext: "+"失败");                        e.printStackTrace();                    }                    @Override                    public void onNext(Newss newss) {                        list = newss.getRet().getList();                        onFinish.OnFinishListener(UserModel.this.list);                        Log.d("mylog", "onNext: "+"成功");                    }                });    }
拦截器

 OkHttpClient okHttpClient = new OkHttpClient.Builder()                .addInterceptor(new LoggingInterceptor())//这个里面的拦截器是已经写好的,可以换成自己的拦截器                .build();        Retrofit retrofit = new Retrofit.Builder().baseUrl(url) .client(okHttpClient).addConverterFactory(GsonConverterFactory.create()).addCallAdapterFactory(RxJavaCallAdapterFactory.create()).build();