关于安卓代码整理以及mvc的实现
来源:互联网 发布:知乎 查过敏源 编辑:程序博客网 时间:2024/06/07 03:57
最近闲来无事,闲着没事翻看网上关于安卓项目的框架,什么mvc啦,mvp啦,各种框架一大堆,但是都是讲解一些理论上的东西。各种示意图,各种名词分析,但是介绍的都是懵懵懂懂的。首先我也邯郸学步介绍一下MVC.
MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。其中M层处理数据,业务逻辑等;V层处理界面的显示结果;C层起到桥梁的作用,来控制V层和M层通信以此来达到分离视图显示和业务逻辑层。
说了这么多,听着感觉很抽象,废话不多说,我们来看看MVC在Android开发中是怎么应用的吧! 我觉得在项目里使用各种框架,首先基础知识要牢固,像java的一些接口了,继承了等等要灵活运用。MVC主要就是模型、视图、控制器的分离。模型主要处理一些逻辑业务操作,比如说数据库、网络请求等耗时操作;View主要指的就是Activity了,我们主要是在Activity里进行控件的刷新;而控制器的作用则主要是向Activity暴露接口,供Activity调用。
接下来我主要介绍一下具体实现方式。首先从项目的搭建说起,初学者也应该懂得如何在自己代码里分类,早在之前对于项目架构的搭建有的人喜欢一个界面放在一个文件夹里,比如说首页界面:将首页的Activity以及adapter了等等全放在一个文件夹里,这样一个文件夹就相当于一个界面,管理起来也挺方便的。而我更倾向于将所有的Activity全放在一个一个文件夹,adpter全放在一个文件夹这种管理方式,这由自己的习惯而定。然后我说一下对于BaseActivity以及BaseFragment的使用,他们的使用主要就是为了节约时间以及优化Activity里的代码,是它们更有次序,我们将一些对于沉浸栏 还有dialog 等等共同的设置放在BaseActivity或者BaseFragment里面,关于具体怎么搭建它们,我以后会具体介绍。然后就是xml文件的整理,我们将一些文字放在value的string里面,文字大小等放在dimmen文件里面等等,xml与它们的关系好比是html与css的关系。然后就是一些工具的封装,比如说检测网络异常的工具~网络请求的工具(对okhttp等框架的封装)~数据解析的工具等等,方便与我们modle调用。
然后就是对modle view controller的搭建了,我们将controller类设置为接口,提供给Activity调用,然后modle继承controller类,实现controller接口里面的方法,其实就是将modle里面网络请求等方法抽离到controller里面;在Activity里面实例化modle ,并向上转型成controller,这样controller持有对modle对象的引用,我们只需要在Activity里面利用controller调用方法就可以达到调用modle里面方法的作用了。
OK!
阅读全文
1 0
- 关于安卓代码整理以及mvc的实现
- 【整理】队列特征以及代码的实现
- 【整理】常见的数组排序方法以及代码实现
- 安卓代码中常用的代码以及问题收集
- 安卓界面里面弹出“关于我们”的说明代码实现
- 关于安卓颜色选择器的实现
- 【整理】链表特征以及代码实现
- 【整理】二叉树概念以及代码实现
- 安卓Viewpager以及实现广告效果的实现
- 安卓上层代码通过onTouch事件模拟实现"onClick"的动作,以及触屏灵敏度的设置
- 关于嵌入式和安卓以及linux的区别
- 关于观察者模式的介绍以及安卓中的使用
- 关于动态更新 安卓 TExtview的 代码
- 安卓极光推送的使用以及可能遇到的问题整理
- 安卓动画代码实现
- 安卓实现代码混淆
- 安卓实现代码混淆
- JAVA代码编写的建议以及整理
- _strdup、_wcsdup、_mbsdup 浅析
- 连续总结第十三天
- unity 使用百度语音进行语音识别
- Java网络编程详解
- angular2入门(1)-如何启动一个项目
- 关于安卓代码整理以及mvc的实现
- 七-3 管理本地存储,Cookies和资源 检查资源
- 连续总结第十四天
- 解决文件图片等上传DebugFilesKeyError: You tried to access the file "file" in the request
- SQL语言——学习随手记20171027
- NuGet无法下载问题
- javaScript翻页功能
- phpmailer 发送图片
- JS——数组(引用传递)