一箫一剑平生意,负尽狂名十五年。这篇文章主要讲述Android之MVC模式的使用相关的知识,希望能为你提供帮助。
【Android之MVC模式的使用】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=https://www.songbingjia.com/android/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三个模块,利于代码的维护。
源码点击下载
推荐阅读
- Android中app开机自启动的开发
- HBuilder使用夜神模拟器调试Android应用
- Kali Linux on Android # 实测(小米2s离线安装Kali Linux)
- Android客户端连接服务器端,向服务器端发送请求HttpURLConnection
- Android音视频学习第7章(使用OpenSL ES进行音频解码)
- Android 进阶图片加载框架之Glide
- 今日头条视频下载器[android下载源码]
- Android ORM——初识greenDAO 3及使用greenDAO 3前应该掌握的一些知识点
- Android中微信抢红包助手的实现(代码整理)