事实上,android本身就已经给开发者实现了MVC的模型,其中,view即是V层,而Activity代表C层,M层则涉及到sqlite,http等操作。

但是,android这种划分并没有对一个项目中使用mvc起到很好的封装,因此在编写大型的项目工程时候,还是要进行一些MVC的考虑,下面就是我对于android中使用MVC的一些可能性探讨。


四层模型:

1. 数据模型层Model

包含content provider, http request, sqlite db helper等。负责提供接收数据请求,提供数据

2. 逻辑层Logic

logic为标志,负责接收从交互层传过来的数据请求,然后转发给M层;接收M层发来的数据,然后转发给交互层。数据逻辑的处理,以及全局变量维护等均在这一层

3. 交互层

仅负责调用view显示数据;接收用户操作,然后将操作所代表的数据请求含义交给logic

4. 显示层

各种view,仅负责页面的展示



三层模型:

1. 数据层dbhelper

2. Controller Activity

3. 作为显示的view


还需要仔细比较二者的区别



GitHub构建:

1. 通过继承结构,进行一层一层的抽象

2. 为了提高通用性一般都需要使用到范型



当前的类的类别:


1. Util级别

所有的类都可能调用到,提供接口和操作

2. Activity级别

主要的模块

3. Adapter级别

服务于activity

4. Handler级别

服务于activity

5. Model

6. Services




结论:

1. BaseFrame应该提供所有的非应用相关的Utils

2. BaseFrame提供非View相关,但是数据相关的Activity

3. BaseFrame提供公用的View和布局

4. 其余Utils放入应用中的同一个包,并且最先移植,是该应用的全局变量

5. 应用中的Activity继承了BaseFrame中的Activity, 并且负责个性化的展示



1. Model

包括dbhttp


Db: 负责增删改查

http:负责发送和接收请求


2. View


Activity只负责展示,描述得到数据后如何进行展示



3. Controller


更多相关文章

  1. 【Android(安卓)内存优化】Bitmap 内存缓存 ( Bitmap 缓存策略 |
  2. 波音787 Dreamliner娱乐系统将选择Android
  3. android 字节数据的转换与处理
  4. 是时候让 Android(安卓)Tools 属性拯救你了
  5. 我也分享一下我Android的收入数据
  6. Android(安卓)中SQList用法详解(增删查改)
  7. Android短视频中如何实现720P磨皮美颜录制?
  8. Android(安卓)Bmob后端云—数据库、服务器!
  9. mybatisplus的坑 insert标签insert into select无参数问题的解决

随机推荐

  1. Android 自定义CheckBox 样式
  2. 关于CoordinatorLayout展开与折叠相关属
  3. Android中向服务器上传图片
  4. Android Layout_weight 属性
  5. Android(安卓)配置PhoneGap开发环境
  6. Android之-----GridView使用的方法总结
  7. Power Profiling: MQTT on Android (1)
  8. android 闹钟提醒并且在锁屏下弹出Dialog
  9. android:打开Eclipse之后android项目都报
  10. Android(安卓)Handler那些事儿(二)——几个