[Android开发]- MVC的架构实现登录模块-1
本系列博客主要展示一下,在C-S(Client - Server)系统开发当中,如何使用MVC的架构来实现安卓端的一个登录验证的模块。如果你能有基本的数据库开发,WEB开发,和安卓开发的知识,那么理解起来会更加容易一些。
本文主要从下面几点开始:
- MVC的介绍
- 必备开发环境
- 后台 - 数据库的准备
一、MVC的介绍
百度百科上面的定义是这样的:
MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。
根据上面的定义,我们可以知道MVC就是一种软件设计的典范,能够降低M、V、和C模块之间的耦合性,那如何应用到C-S系统的开发当中呢?请看下图 1:

从上图,我们可以知道在C-S的系统开发中,客户端(Client)就是充当将服务层提供的数据展示出来的视图(View), 后台服务器主要充当控制器(Control),而数据库中的各种表充当的是模型(Model)。 这样做有很多好处,比如:
安卓客户端开发和服务器开发可以完全独立进行:客户端告诉服务器需要的信息是哪些,服务器就提供相应的服务把数据通过JSON的方式(或者方法)返回给客户端。这个只要在开发之前确定好该接口文档就没有问题了;
后台服务扩展起来非常容易,比如在开发过程中服务器已经完成了好友列表的获取,那么在MVC这样的架构之下,要想实现黑名单列表的获取可能只需要在service类中添加一个方法就行了;
到这里,你大概能够明白MVC的是怎样一个东西,在C-S的开发中又是怎样的一个展示。
二、必备开发环境
如下:
Android Studio
一款基于IntelliJ IDEA的Android集成开发工具,比Eclipse ADT要智能太多;用于安卓客户端的开发。Eclipse Java EE IDE Mars.1 for Web Developers
用于服务器端的开发,最好是集成了Tomcat 7.0 服务器;当然,不一定是Eclipse Mars版本,其他能用来开发java web程序的版本都可以,myeclipse也都是大同小异的;- Tomcat 7.0 服务器
Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。[来自百度]就是用来运行在Eclipse中开发好的web服务程序。
Eclipse中配置Tomcat服务器可以参考下面的链接:
- MySql 数据库
主要用来创建数据库。各种版本的Mysql都可以,其它的关系型数据库也没问题,区别在于当服务器对数据库中的数据进行访问的时候采用的链接数据库的驱动jar会不同。在本教程中只展示对Mysql数据的连接。
三、后台-数据库的准备
下面的展示的步骤都是在Max os X系统中的操作,在其他系统当中,只需替换成该操作系统中相应的操作即可
开启数据库服务,如图 1-2 :

打开终端,连接到本地数据库,如图 1-3:

- 创建一个独立的数据库TEST1,并且在该数据库当中创建一个包含id(自增),name,password列的表user;并且在这个数据库当中添加一条记录,命令如下,整个过程如图 1-4所示:
create table user (id int primary key auto_increment,name char(30),password varchar(20));
create database TEST1;
use TEST1
insert into user(name,password) values('mvcuser','mvcuser123');
select * from user;

四、总结
至此,我们已经对MVC有了一定的了解,并且准备好了之后开发当中的数据库和测试数据!
声明:
- 联系作者,新浪微博私信 @谷谷_z
- 如果在文章当中发现有描述错误的地方,还请您不吝指出,万分感谢!
- 此文章系本人原创作品,转发请注明出处!
[Android开发]- MVC的架构实现登录模块-1的更多相关文章
- Android开发-浅谈架构(二)
写在前面的话 我记得有一期罗胖的<罗辑思维>中他提到 我们在这个碎片化 充满焦虑的时代该怎么学习--用30%的时间 了解70%该领域的知识然后迅速转移芳草鲜美的地方 像游牧民族那样.原话应 ...
- Android开发-浅谈架构(一)
写在前面的话 嗯 聊聊架构. 这段时间一直在维护旧项目. 包括自己之前写的新项目 越来越发现 一个架构清晰的项目往往让人赏心悦目.不至于在一个bug丢过来之后手足无措.包括以后别人接收自己的项目 能很 ...
- Window上python开发--4.Django的用户登录模块User
Android系统开发交流群:484966421 OSHome. 微信公众号:oshome2015 在搭建站点和web的应用程序时,用户的登录和管理是差点儿是每一个站点都必备的. 今天主要从一个实例了 ...
- 使用uni-app开发微信小程序之登录模块
从微信小程序官方发布的公告中我们可获知:小程序体验版.开发版调用 wx.getUserInfo 接口,将无法弹出授权询问框,默认调用失败,需使用 <button open-type=" ...
- 项目开发-->身份认证及用户登录模块
1.首先明确的两个问题 如何判断当前申请是由一个已登录用户发起的?如果Request.IsAuthenticated为true,则表示是一个已登录用户. 如何获取当前登录用户的登录名?如果是一个已登录 ...
- android开发新浪微博客户端 完整攻略 [新手必读]
开始接触学习android已经有3个礼拜了,一直都是对着android的sdk文档写Tutorials从Hello World到Notepad Tutorial算是初步入门了吧,刚好最近对微博感兴趣就 ...
- Android App的设计架构:MVC,MVP,MVVM与架构经验谈
相关:http://www.cnblogs.com/wytiger/p/5996876.html 和MVC框架模式一样,Model模型处理数据代码不变在Android的App开发中,很多人经常会头疼于 ...
- Android App的设计架构:MVC,MVP,MVVM与架构AAAAA
1. 架构设计的目的1.1 通过设计使程序模块化,做到模块内部的高聚合和模块之间的低耦合.1.2 这样做的好处是使得程序在开发的过程中,开发人员只需要专注于一点,提高程序开发的效率,并且更容易进行后续 ...
- 转:Android开发中的MVP架构(最后链接资源不错)
Android开发中的MVP架构 最近越来越多的人开始谈论架构.我周围的同事和工程师也是如此.尽管我还不是特别深入理解MVP和DDD,但是我们的新项目还是决定通过MVP来构建. 这篇文章是我通过研究和 ...
随机推荐
- dom 留言加强
<!doctype html> <html> <head> <meta charset="utf-8"> <title> ...
- 关于 python 的 @property总结和思考
其实关于@property我到处去搜了很多教程来看,因为公司大量使用了oop的编程而我以前很少写,所以现在来重新补过来. 从使用上来说 加了@property之后最明显的区别就是 class Stud ...
- Step By Step(Lua字符串库) (转)
1. 基础字符串函数: 字符串库中有一些函数非常简单,如: 1). string.len(s) 返回字符串s的长度: 2). string.rep(s,n) 返回字符串s重复n次的结 ...
- KMP(http://acm.hdu.edu.cn/showproblem.php?pid=1711)
http://acm.hdu.edu.cn/showproblem.php?pid=1711 #include<stdio.h> #include<math.h> #inclu ...
- RGPJS 教程之八 创造场景
开始画面 游戏画面 代码 <!DOCTYPE html> <html> <head> <script src="rpg-beta-2.js" ...
- CCF 201312-4 有趣的数 (数位DP, 状压DP, 组合数学+暴力枚举, 推公式, 矩阵快速幂)
问题描述 我们把一个数称为有趣的,当且仅当: 1. 它的数字只包含0, 1, 2, 3,且这四个数字都出现过至少一次. 2. 所有的0都出现在所有的1之前,而所有的2都出现在所有的3之前. 3. 最高 ...
- Add mappings to an Elasticsearch index in realtime
Changing mapping on existing index is not an easy task. You may find the reason and possible solutio ...
- [置顶] DataGridView控件---绑定数据方法
DataGridView控件是在windows应用程中显示数据最好的方式,它只需要几行简短的代码就可以把数据显示给用户,同时又支持增.删.改操作.今天将自己总结的增加数据的方法总结分 ...
- Linux的端口和服务
一.端口和服务的关系端口号与相应服务的对应关系存放在/etc/services文件中,这个文件中可以找到大部分端口.使用netstat命令显示的服务名称也是从这个文件中找的.有人说将这个文件中的相应端 ...
- linux内核完全注释之微型计算机组成结构
计算机组成原理 1.传统计算机计算机组成框图 CPU通过地址线.数据线.控制线组成的本地总线(或内部总线),与系统的其他部分进行数据通信,地址线用于提供内存或I/O设备的地址,指明所需读写数据的具体操 ...