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

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

对于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模式的代码结构。不喜勿喷哈。

最新文章

  1. [转]ORACLE中Like与Instr模糊查询性能大比拼
  2. CSS学习笔记——选择器
  3. mssql注入
  4. tomcat + apache +jkmod 配置php,jsp共存
  5. python实现查找指定文件
  6. java爬虫实战
  7. 【IDE】SharpDevelop
  8. [Oracle] - 性能优化工具(2) - ASH
  9. Amazon Alexa 语音识别1 : 简介
  10. Reverse Linked List II——LeetCode
  11. Linux远程访问windows时,出现"连接被对端重置"错误
  12. 关于js中对象和函数的一道问题
  13. XSS绕过小结
  14. java框架之SpringBoot(8)-嵌入式Servlet容器
  15. nginx 下载 大文件被截断
  16. How to Pronounce T and D between Consonants
  17. SQL查询出某字段不等于某值的行(其中有为NULL的字段)
  18. JVM的逃逸分析
  19. Docker for Windows(三)Docker镜像与容器的区别&常用命令
  20. oracle和mysql在sql中生成uuid的方法

热门文章

  1. 【JSOI 2008】 球形空间产生器
  2. 常见Java集合的实现细节
  3. redis安装及连接(入门)
  4. 最详细的CentOS 6与7对比(三):性能测试对比
  5. Spring《七》ApplicationContext
  6. 每条sql语句实际上都是一个事物(事物多种类型解读)
  7. 浅析CLR的异常处理模型
  8. 多个tomcat配置,解决冲突问题
  9. C# 学习笔记_类
  10. dbcp相关配置