美文网首页
Android之MVC模式的使用

Android之MVC模式的使用

作者: 切切歆语 | 来源:发表于2019-11-05 20:02 被阅读0次

MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。

Model 层处理数据,业务逻辑等;

View 层处理界面的显示结果;

Controller层起到桥梁的作用,来控制V层和M层通信以此来达到分离视图显示和业务逻辑层。

public class MainActivity extends Activity implements Implement,OnClickListener {
    private TextView tv_view;
    private MainModel mModel;
    
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.th);
        initView();
    }
    private void initView() {
        // TODO Auto-generated method stub
        mModel = new MainModel();
        tv_view = (TextView) this.findViewById(R.id.tv_view);
        findViewById(R.id.btn).setOnClickListener(this);
        findViewById(R.id.btn1).setOnClickListener(this);
    }
 
    @Override
    public void loadData() {
        mModel.loadData(tv_view);
    }
    @Override
    public void onClick(View v) {
        switch (v.getId()) {
        case R.id.btn:
            loadData();
            break;
        case R.id.btn1:
            httpData();
            break;
        default:
            break;
        }
    }
    @SuppressLint("HandlerLeak") @Override
    public void httpData() {
        
        Object data=mModel.httpData();
        if(data!=null)
        {
            tv_view.setText(data.toString());
        }else{
            onError();
        }
    }
    
    
    @Override
    public void onError() {
        // TODO Auto-generated method stub
        Toast.makeText(getApplicationContext(), "加载数据失败",Toast.LENGTH_LONG).show();
    }
    
 
}
public class MainModel {

    public void loadData(TextView tv_view) {
        tv_view.setText("MVC模式在Android中的应用,Model获取数据");
    }

    /***
     * 网络请求
     * 
     * @return 返回请求数据
     */
    public Object httpData() {
        return "网络请求返回数据";
    }
}

MVC的优点:

1.耦合性低。所谓耦合性就是模块代码之间的关联程度。利用MVC框架使得View(视图)层和Model(模型)层可以很好的分离,这样就达到了解耦的目的,所以耦合性低,减少模块代码之间的相互影响。

2.可扩展性好。由于耦合性低,添加需求,扩展代码就可以减少修改之前的代码,降低bug的出现率。

3.模块职责划分明确。主要划分层M,V,C三个模块,利于代码的维护。

源码点击下载:https://github.com/DickyQie/android-development-model

相关文章

  • MVC和MVP模式在android中的应用

    参考:框架模式 MVC 在Android中的使用【架构设计】MVP与MVC,实现Android应用层开发

  • MVC / MVP / MVVM 架构模式

    MVC / MVP / MVVM 架构模式Android架构,即为开发Android时使用的架构。Android的...

  • Android之MVC模式的使用

    MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(contr...

  • 常用Android架构设计模式(二)MVP模式

    前言# 昨天我们已经了解了MVC模式,也大概分析一下MVC模式的优点和不足,确实在android中MVC使用起来会...

  • android MVC MVP MVVM

    前言 简述Android一些架构模式1、MVC2、MVP3、MVVM MVC 这是一个很早就使用的架构模式MVC:...

  • Android开发之MVP模式和MVC模式

    谷歌Android开发的Activity默认使用的就是MVC模式,activity既作为controller也作为...

  • MVP

    Android MVP模式 MVC模式 & 缺点MVC,全称Model-View-Controller,即模型-视...

  • Android开发模式:MVP Vs MVVM

    Android常用的开发模式包括MVC,MVP以及MVVM。标准MVC模式不适用于Android的开发,在标准的M...

  • 1111面试记录

    1.说说MVC模式的原理,它在Android中的运用,Android的官方建议应用程序的开发采用MVC模式。何谓M...

  • 日常笔记 - MVP

    1 前言 MVP模式是MVC模式在Android上的一种变体,要介绍MVP就得先介绍MVC。在MVC模式中,Act...

网友评论

      本文标题:Android之MVC模式的使用

      本文链接:https://www.haomeiwen.com/subject/nacdbctx.html