为了账号安全,请及时绑定邮箱和手机立即绑定

Android开发中的MVC_MVP_MVVM

oohuo 移动开发工程师
难度初级
时长 1小时18分
学习人数
综合评分9.57
14人评价 查看评价
10.0 内容实用
8.7 简洁易懂
10.0 逻辑清晰
  • MVP优点

    解决了MVC中Controller与View过度耦合的缺点,职责划分明显,更加易于维护

    缺点:接口数量多,项目复杂度升高。随着项目复杂度的提升,Presenter层将越来越臃肿


    使用mvp 模式建议

    1、接口规范化, 封装父类接口以减少接口的使用量

    2、使用第三方插件自动生成mvp代码

    3、对于一些简单的界面。可以选择不使用框架

    4、根据项目复杂程度,部分模块可以不使用接口

    查看全部
    1 采集 收起 来源:MVP的优缺点

    2020-01-06

  • 1、V层 负责提供View层面的功能(采用实现接口的方式,提供给P层),也就是Activity、Fragment提供并实现一个视图接口IMVView,提供给Presenter

    2、M层 负责提供数据方面的功能, M层与View层是不直接通信的

    3、P层 因Model与View不再之间通信,P层来进行V与M互相通信,所以P层需要持有M层和V层的引用 , 在presenter中view的初始化通过构造函数, model直接创建新对象

    查看全部
    2 采集 收起 来源:MVP代码实战

    2020-01-06

  • MVC优点:一定程度上实现了Model与View的分离,降低了代码的耦合性

    缺点:Controller与View难以完全解耦,并且随着项目复杂度的提升,Controller将越来越臃肿。因为在安卓Activity即是控制器,也要承担部分view视图层的操作

    类似Model↔View/Controller


    查看全部
    1 采集 收起 来源:MVC的优缺点

    2020-01-06

  • 继续学习
    查看全部
  • 步骤

    查看全部
    0 采集 收起 来源:MVVM代码实战

    2024-11-12

  • mvvm

    查看全部
    0 采集 收起 来源:MVVM代码实战

    2024-11-12


  • 备注:

    查看全部
    0 采集 收起 来源:MVP模型简介

    2024-11-12

  • Mvp

    查看全部
    0 采集 收起 来源:MVP模型简介

    2024-11-12

  • M层负责从数据库中获取数据

    查看全部
    0 采集 收起 来源:MVC模型简介

    2024-11-12

  • mvc 形式   Controller 持有Model 先Model 传递数据,而Model向View传递数据 一般使用Callback的形式

    查看全部
    0 采集 收起 来源:MVC模型简介

    2024-11-12

  • 根据项目来选择,学会变通,简单的页面可以不使用框架或使用MVC,建议多使用插件或自定义插件,减少重复代码

    查看全部
    0 采集 收起 来源:课程总结

    2024-01-05

  • 学好 DataBinding、LiveData

    查看全部
    0 采集 收起 来源:MVVM的优缺点

    2024-01-05

  • 1、


    2、

    3、

    在布局文件中声明

    在Activity中初始化

    在布局文件中使用

    ViewModel中实现getData方法

    3、

    再创建一个构造器,将Binding对象传值过来,可以调用输入的内容


    在viewModel中直接使用dataBinding来操作,这样不是很好

    改进:

    1、将输入框与viewModel.userInput绑定,并且实现双向绑定,

    android:text="@={viewModel.userInput}"

    2在viewModel中提供userInput变量

    所以在使用的时候,不需要使用dataBinding获取userInput,直接使用userInput变量


    有时候,有些操作需要在Activity中完成,实现方式很多

    1、借助三方库,EventBus/RxBus,但不够好

    2、建议使用LiveData+ViewModel的形式


    查看全部
    0 采集 收起 来源:MVVM代码实战

    2024-01-05

  • 1、启动DataBinding

    在App下的build.gradle的android层级下,添加

    dataBinding{
        enabled = true
    }

    2、修改布局文件为DataBinding布局

    选中最外层的布局控件,同时按下Alt+回车,选择Convert to data binding layout

    原来的Activity

    可以修改为

    在布局文件中的layout-data下声明变量

    在相应位置使用,还可以在其中使用拼接,注:在大括号中还包含字符串的话 需要使用单引号

    android:tex="@{account.name}"

    对account进行初始化

    拓展:

    点击按钮为level+1

    1、声明activity变量

    2、按钮中添加点击事件,引用activity的onClick事件

    3、Activity中设置activity

    dataBinding.setActivity(this);

    4、实现onClick方法

    优化:

    每次点击都会调用setLevel

    在Bean中 extends BaseObservable

    对getLevel()添加@Bindable注解

    在setLevel()方法中添加刷新,BR类似R,是DataBinding为我们自动生成的

    以上为单向绑定


    双向绑定:

    在视图中,@后增加=,表示双向绑定,即视图更新也会更新数据,数据更新也会刷新视图

    双向绑定一般用于输入框



    查看全部
    0 采集 收起 来源:DataBinding学习

    2024-01-05

  • 与MVP的思想相似,但代码更简洁

    查看全部
    0 采集 收起 来源:MVVM模型简介

    2024-01-05

首页上一页1234567下一页尾页

举报

0/150
提交
取消
课程须知
适合有Android基础的用户,且对三种框架模型感兴趣的同学
老师告诉你能学到什么?
1.MVC、MVP、MVVM的基本概念 2.MVC、MVP、MVVM的优缺点及区别 3.DataBinding的基本使用 4.如何使用MVC、MVP、MVVM实现项目需求

微信扫码,参与3人拼团

微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!