Android实战(橘子娱乐)-首页(第六篇 Presenter如何将Model层数据传递给View层)

本文详细介绍了在Android开发中,使用MVP模式的Presenter如何从Model层获取数据,并通过Retrofit2和RxJava2进行网络请求,然后将数据有效地传递给View层展示。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言:
    前一篇  Android实战(橘子娱乐)-首页(第五篇 Glide加载图片的简单封装)讲解了我们加载显示图片的工具util的具体代码细节,最后提到我们这一节将学习presenter实现将Model层数据传递给View层。

我们先来看我们之前学习MainActivity的部分代码:

   
   
   
  1. public class MainActivity extends BaseActivity implements MainView,
  2. NavigationView.OnNavigationItemSelectedListener,OnRefreshListener,View.OnClickListener{}
    
    
    
  1. @Override
  2. public void getFilmInfos(Film film) {
  3. mIRecyclerView.setRefreshing(false);
  4. /* mList.clear();*/
  5. for (int i=0;i<film.getSubjects().size();i++) {
  6. mList.add(film.getSubjects().get(i));
  7. }
  8. mMainAdapter.notifyDataSetChanged();
  9. }
     上面的两段代码片可以看出我们的MainActivity继承了MainView这个接口并实现了 getFilmInfos(Film film)这个接口方法,而我们想要的数据刚好就是来自这里的参数film,当然这个Film类是我们根据接口返回的json生成的bean类,我就不贴出代码了。我们贴出MainView这个接口的代码:

MainView.java
   
   
   
  1. package com.andy.orange.ui.home.view;
  2. import com.andy.orange.bean.Film;
  3. /**
  4. * Created by Andy Lau on 2017/8/10.
  5. */
  6. public interface MainView {
  7. void getFilmInfos(Film movieInfos);
  8. }
MainView接口看起来好简单,我们来看我们的主角MainPresenterImpl类
   
   
   
  1. package com.andy.orange.ui.home.presenter.impl;
  2. import android.content.Context;
  3. import android.util.Log;
  4. import com.andy.orange.bean.Film;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值