android MVP模式使用retroflt获取数据加载到recyclerview
来源:互联网 发布:打电话录音软件 编辑:程序博客网 时间:2024/06/05 23:04
mvp模式的概念我们都看的很多 但是具体到操作步骤发现自己无从下手 做的一个demo看看效果
mvp模式 view层定义接口方法 将数据传回来
public interface Iview { void getUser(ArrayList<HomeBean.NewslistBean> list);}
model层定义获取接口路径 通过传值获取数据
public interface Imodel { void getData(String url);}创建方法实现接口 new一个集合存储数据用来presenter传给viewpublic class Imymodel implements Imodel{ ArrayList<HomeBean.NewslistBean> list=new ArrayList<>(); private OnFinishLisenter lisenter; public interface OnFinishLisenter{ //得到数据 void OnFinish(ArrayList<HomeBean.NewslistBean> list); } public void setOnUserModel(OnFinishLisenter lisenter) { this.lisenter = lisenter; } @Override public void getData(String url) {//使用retroflt获取网络数据Retrofit retrofit=new Retrofit.Builder().baseUrl(url).addConverterFactory(GsonConverterFactory.create()).addCallAdapterFactory(RxJavaCallAdapterFactory.create()).build(); ApiService apiservice=retrofit.create(ApiService.class); Observable<HomeBean> homes=apiservice.gettiyu(); homes.subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) .subscribe(new Observer<HomeBean>() { @Override public void onCompleted() { } @Override public void onError(Throwable e) { } @Override public void onNext(HomeBean homeBean) { list= (ArrayList<HomeBean.NewslistBean>) homeBean.getNewslist(); lisenter.OnFinish(list); } }); }}presenter来连接view和modelpublic class ImyPresenter implements Imymodel.OnFinishLisenter { private final Iview userview; private final Imymodel usermodel; public ImyPresenter(Iview userview) { this.userview = userview; this.usermodel=new Imymodel(); usermodel.setOnUserModel(this); } public void getUrl(String url) { //得到Model中请求数据的方法 usermodel.getData(url); } @Override public void OnFinish(ArrayList<HomeBean.NewslistBean> list) { userview.getUser(list); }}在fragment或者activity中实现view的接口同时实现他的方法public void getUser(ArrayList<HomeBean.NewslistBean> slist) { mRecyclerView.setLayoutManager(new LinearLayoutManager(getActivity())); mRecyclerView.setAdapter(new HomeAdapter(getActivity(), slist));}获取到了model传来的数据 给控件recyclerview赋值 设置适配器 因为是recyclerview需要添加布局管理器
阅读全文
0 0
- android MVP模式使用retroflt获取数据加载到recyclerview
- rxjava+retroflt获取网络数据
- Android MVP模式 XUtils组合获取数据
- MVP+Retrofit+RecyclerView实现加载网络数据
- MVP模式OKhttp请求RecyclerView展示数据
- Android之MVP模式实现登录和网络数据加载
- 使用MVP模式+Retrofit+Fresco加载网络数据
- RecyclerView的MVP模式简单使用
- 使用MVP来实现recyclerview数据
- android使用MVP模式
- 展示数据使用:recyclerview,retrofit,greendao,butterknife,eventbus,fresco。实现效果图列表。MVP模式。
- MVP模式 + RecyclerView瀑布流 + 上拉加载、下拉刷新
- Android RecyclerView 加载更多数据 及 不同类型itemView的使用
- MVP模式在Android中的应用(附UML高清大图,使用RecyclerView举例)
- MVP模式在Android中的应用(附UML高清大图,使用RecyclerView举例)
- 使用MVP,OKHttp封装类及其拦截器,RecyclerView,SpringView,ImageLoader实现数据的多条目加载
- MVP简单使用+RecyclerView
- MVP框架使用Fretiofit获取网络数据使用xrecycleview实现上拉加载下拉刷新
- 操作系统(3)
- 二分搜索算法
- 面向对象的思想
- 关于使用plugman添加自定义插件过程中遇到的坑
- Linux轻量级自动化运维工具Fabric命令行入口fab基本使用
- android MVP模式使用retroflt获取数据加载到recyclerview
- 自定义按钮
- Java反射机制
- 棋盘覆盖问题
- execut1
- Walk UVA
- 选择问题
- 自定义画圆
- Android O指纹识别解析