先介绍下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模式的代码结构。不喜勿喷哈。

技术总结--android篇(一)--MVC模式的更多相关文章

  1. Android 设计模式之MVC模式

    说到Android设计模式的MVC模式,估计很多人都是比较熟悉了,这里深入了解一下MVC到底是怎么回事,以ListView为例子讲解. 一.深入理解MVC概念 MVC即Model-View-Contr ...

  2. 前端之Android入门(3):MVC模式(上)

    很多Android的入门书籍,在前面介绍完布局后就会逐个介绍组件,然后开始编写组件使用的例子.每每到此时小伙伴们都可能会有些疑问:是否应该先啃完一本<Java编程思想>学点 Java 知识 ...

  3. 【转】 Android项目的mvc模式

    MVC (Model-View-Controller):M是指逻辑模型,V是指视图模型,C则是控制器.一个逻辑模型M可以对于多种视图模型V,比如一批统计数据你可以分别用柱状图.饼图V来表示.一种视图模 ...

  4. 技术总结--android篇(三)--代码规格和编码规范

    命名规则 变量名: 1)尽量要取有意义的名字,比方说:一个用户名的成员变量.应该写成username.而不要仅仅写个string: 2)假设是常量.既在编码过程中.这个值是不会改变的,应该写成大写的名 ...

  5. 技术总结--android篇(四)--工具类总结

    StringUtil(视个人须要进行加入) public class StringUtil { public static boolean isMail(String string) { if (nu ...

  6. Android 腾讯入门教程( 智能手表UI设计 和 MVC模式 )

    *****注意到mvc 在android 中是如何进行分层分域执行各自的功能.**** 官方推荐的按钮尺寸是48像素 前端之Android入门(1):环境配置 前端之Android入门(2):程序目录 ...

  7. Android:MVC模式(下)

    在上一篇文章中,我们将 View 类单独出来并完成了设计和编写.这次我们将完成 Model 类,并通过 Controller 将两者连接起来,完成这个计算器程序. 模型(Model)就是程序中封装了数 ...

  8. Android:MVC模式(上)

    很多Android的入门书籍,在前面介绍完布局后就会逐个介绍组件,然后开始编写组件使用的例子.每每到此时小伙伴们都可能会有些疑问:是否应该先啃完一本<Java编程思想>学点 Java 知识 ...

  9. MVC模式与Android

    MVC模式是软件工程中的一种软件架构,“Model-View-Controller”的缩写,中文翻译为“模型-视图-控制器”. MVC模式将一个交互式应用程序分为3各组件: 1.Model(模型):业 ...

随机推荐

  1. Spark中常用的算法

    Spark中常用的算法: 3.2.1 分类算法 分类算法属于监督式学习,使用类标签已知的样本建立一个分类函数或分类模型,应用分类模型,能把数据库中的类标签未知的数据进行归类.分类在数据挖掘中是一项重要 ...

  2. [ligerUI] grid封装调用方法

    /** * 获取页面参数 */ function getPageSize(){ var xScroll, yScroll; if (window.innerHeight && wind ...

  3. redis安装及连接(入门)

    安装 环境:本地win10,虚拟机里ubuntu, 在ubuntu安装redis服务,本地java连接. 本教程使用的最新文档版本为 4.0.9,下载并安装: 安装步骤: 1,进入ubuntu合适目录 ...

  4. js滚动

    有选择性的重复造一些轮子,未必是件坏事.Aaron的博客上加了一个悬浮菜单,貌似显得很高大上了.虽然这类小把戏也不是头一次见了,但是从未自己写过.今天就选择性的拿这个功能写一写.下面是这个轮子的开发过 ...

  5. ES6 Proxy 性能之我见

    ES6 Proxy 性能之我见 本文翻译自https://thecodebarbarian.com/thoughts-on-es6-proxies-performance Proxy是ES6的一个强力 ...

  6. os.clock()导致的bug

    os.clock () 功能:返回一个程序使用CPU时间的一个近似值 最近做了一个功能,这个功能需要统计时间间隔,例如每隔0.5秒做一次调用. 我用了os.clock()去统计时间,结果在pc机上都没 ...

  7. win10下mysql安装过程中遇到的各种坑

    前几天重装系统,又要下回来mysql,但没想到还是遇到了许多麻烦,翻了十多篇博文才搞定,写个总结出来方便以后不要重复踩坑,也给大家参考参考. 1.下载与安装 这个没什么好说的,下载地址网上一大堆,安装 ...

  8. hdu4081 Qin Shi Huang's National Road System 次小生成树

    先发发牢骚:图论500题上说这题是最小生成树+DFS,网上搜题解也有人这么做.但是其实就是次小生成树.次小生成树完全当模版题.其中有一个小细节没注意,导致我几个小时一直在找错.有了模版要会用模版,然后 ...

  9. Jetty容器配置https

    Configuring the Jetty Container as a Https Connector Jetty版本:9.2.22.v20170606 Pom.xml <?xml versi ...

  10. css3动画,点击圆形背景扩展整个页面效果

    上次做项目的时候,要求点击链接,这个链接的圆形背景扩散充满整个页面,今天把这个效果整理一下,是简单的css3的动画特效,粘贴下面的代码看效果 <!DOCTYPE html> <htm ...