当前位置: 代码迷 >> Android >> 技术小结-android篇(一)-MVC模式
  详细解决方案

技术小结-android篇(一)-MVC模式

热度:35   发布时间:2016-04-28 00:34:02.0
技术总结--android篇(一)--MVC模式

先介绍下MVC模式:MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。MVC被独特的发展起来用于映射传统的输入、处理和输出功能在一个逻辑的图形化用户界面的结构中。

使用MVC模式编写代码,能使代码更加美观,更容易管理,扩展性强。

对于Android来说,MVC模式本身也使用到了。

1、界面XML文件就是View(V);

2、model层就是一些数据的操作,网络的处理等,

3、controller层就是对activity的逻辑处理,但是要割除model中的数据、网络等的逻辑处理,因为耗时的处理在主线程上,处理超过5S就会出现ANR(超时时android机制对应用回收的一种处理)的。

我的代码结构:



我就不重新创建一个项目了,就从已有的项目来讲解了,忽略其他的包先吧。

activities包(View),顾名思义这里包含了所有的activity,做的事情就是对应着fragment,代码实现如下:

public class AdminAddGoodsActivity extends BaseFramActivty{	@Override	protected void onCreate(Bundle bundle) {		super.onCreate(bundle);		initTitle("添加商品", 1, 0, new TitleImgClick() {			@Override			public void OnTitleImgClick(com.views.lib.tab.interfaces.Method method) {				switch (method) {				case left:					AndroidUtils.isGiveUpEdit(AdminAddGoodsActivity.this);										break;				case right:					break;				default:					break;				}			}		});		switchFram(new AddGoodsFragment());	}}
这里的BaseFramActivity和switchFram是Lib里面的实现的,之后会讲到的,现在先保留着先。

代码里面的Activity对应的就是AddGoodsFragment,fragment里面才实现界面的初始化。

adapter包,实现数据和UI(View)之间一个重要的纽带,直观的表达了Data、Adapter、View三者的关系。主要是实现list等的数据初始化。

config,一些配置的信息。

dao、ctrler(controller),用来实现与model层的业务逻辑处理,通过此类,获取数据然后返回到activity中进行数据的显示。

db也就是数据库的操作了。

model(model),也就是一些实体类了。

utils,放的是一些工具类。

view,是自己自定义的view类



这个是个人总结的android中使用MVC模式的代码结构,不喜勿喷哈。


  相关解决方案