本系列博客主要展示一下,在C-S(Client - Server)系统开发当中,如何使用MVC的架构来实现安卓端的一个登录验证的模块。如果你能有基本的数据库开发,WEB开发,和安卓开发的知识,那么理解起来会更加容易一些。

本文主要从下面几点开始:

  1. MVC的介绍
  2. 必备开发环境
  3. 后台 - 数据库的准备

一、MVC的介绍

百度百科上面的定义是这样的:

MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。

根据上面的定义,我们可以知道MVC就是一种软件设计的典范,能够降低M、V、和C模块之间的耦合性,那如何应用到C-S系统的开发当中呢?请看下图 1:

从上图,我们可以知道在C-S的系统开发中,客户端(Client)就是充当将服务层提供的数据展示出来的视图(View), 后台服务器主要充当控制器(Control),而数据库中的各种表充当的是模型(Model)。 这样做有很多好处,比如:

  1. 安卓客户端开发和服务器开发可以完全独立进行:客户端告诉服务器需要的信息是哪些,服务器就提供相应的服务把数据通过JSON的方式(或者方法)返回给客户端。这个只要在开发之前确定好该接口文档就没有问题了;

  2. 后台服务扩展起来非常容易,比如在开发过程中服务器已经完成了好友列表的获取,那么在MVC这样的架构之下,要想实现黑名单列表的获取可能只需要在service类中添加一个方法就行了;

到这里,你大概能够明白MVC的是怎样一个东西,在C-S的开发中又是怎样的一个展示。

二、必备开发环境

如下:

  1. Android Studio

    一款基于IntelliJ IDEA的Android集成开发工具,比Eclipse ADT要智能太多;用于安卓客户端的开发。

  2. Eclipse Java EE IDE Mars.1 for Web Developers

    用于服务器端的开发,最好是集成了Tomcat 7.0 服务器;当然,不一定是Eclipse Mars版本,其他能用来开发java web程序的版本都可以,myeclipse也都是大同小异的;

  3. Tomcat 7.0 服务器

    Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。[来自百度]就是用来运行在Eclipse中开发好的web服务程序。

    Eclipse中配置Tomcat服务器可以参考下面的链接:
  1. MySql 数据库

    主要用来创建数据库。各种版本的Mysql都可以,其它的关系型数据库也没问题,区别在于当服务器对数据库中的数据进行访问的时候采用的链接数据库的驱动jar会不同。在本教程中只展示对Mysql数据的连接。

三、后台-数据库的准备

下面的展示的步骤都是在Max os X系统中的操作,在其他系统当中,只需替换成该操作系统中相应的操作即可

  1. 开启数据库服务,如图 1-2 :

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

  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有了一定的了解,并且准备好了之后开发当中的数据库和测试数据!

声明:
  1. 联系作者,新浪微博私信 @谷谷_z
  2. 如果在文章当中发现有描述错误的地方,还请您不吝指出,万分感谢!
  3. 此文章系本人原创作品,转发请注明出处!

[Android开发]- MVC的架构实现登录模块-1的更多相关文章

  1. Android开发-浅谈架构(二)

    写在前面的话 我记得有一期罗胖的<罗辑思维>中他提到 我们在这个碎片化 充满焦虑的时代该怎么学习--用30%的时间 了解70%该领域的知识然后迅速转移芳草鲜美的地方 像游牧民族那样.原话应 ...

  2. Android开发-浅谈架构(一)

    写在前面的话 嗯 聊聊架构. 这段时间一直在维护旧项目. 包括自己之前写的新项目 越来越发现 一个架构清晰的项目往往让人赏心悦目.不至于在一个bug丢过来之后手足无措.包括以后别人接收自己的项目 能很 ...

  3. Window上python开发--4.Django的用户登录模块User

    Android系统开发交流群:484966421 OSHome. 微信公众号:oshome2015 在搭建站点和web的应用程序时,用户的登录和管理是差点儿是每一个站点都必备的. 今天主要从一个实例了 ...

  4. 使用uni-app开发微信小程序之登录模块

    从微信小程序官方发布的公告中我们可获知:小程序体验版.开发版调用 wx.getUserInfo 接口,将无法弹出授权询问框,默认调用失败,需使用 <button open-type=" ...

  5. 项目开发-->身份认证及用户登录模块

    1.首先明确的两个问题 如何判断当前申请是由一个已登录用户发起的?如果Request.IsAuthenticated为true,则表示是一个已登录用户. 如何获取当前登录用户的登录名?如果是一个已登录 ...

  6. android开发新浪微博客户端 完整攻略 [新手必读]

    开始接触学习android已经有3个礼拜了,一直都是对着android的sdk文档写Tutorials从Hello World到Notepad Tutorial算是初步入门了吧,刚好最近对微博感兴趣就 ...

  7. Android App的设计架构:MVC,MVP,MVVM与架构经验谈

    相关:http://www.cnblogs.com/wytiger/p/5996876.html 和MVC框架模式一样,Model模型处理数据代码不变在Android的App开发中,很多人经常会头疼于 ...

  8. Android App的设计架构:MVC,MVP,MVVM与架构AAAAA

    1. 架构设计的目的1.1 通过设计使程序模块化,做到模块内部的高聚合和模块之间的低耦合.1.2 这样做的好处是使得程序在开发的过程中,开发人员只需要专注于一点,提高程序开发的效率,并且更容易进行后续 ...

  9. 转:Android开发中的MVP架构(最后链接资源不错)

    Android开发中的MVP架构 最近越来越多的人开始谈论架构.我周围的同事和工程师也是如此.尽管我还不是特别深入理解MVP和DDD,但是我们的新项目还是决定通过MVP来构建. 这篇文章是我通过研究和 ...

随机推荐

  1. SQL SERVER安装提示“安装了 Microsoft Visual Studio 2008 的早期版本

    工作共遇到的问题记录: 安装Sql Server 2008 R2时提示错误:“此计算机上安装了 Microsoft Visual Studio 2008 的早期版本.请在安装 SQL Server 2 ...

  2. 使用sem_post信号量进行线程同步

    写了一小段程序,测试一下线程同步的问题,如下: #include <stdio.h> #include <string.h> #include <semaphore.h& ...

  3. C++11多元组类别

    [C++11多元组类别] 多元组可被视为是 struct 其数据成员的一般化.底下是一个多元组类别的定义和使用情况: 我们可以定义一个多元组类别对象 proof 而不指定其内容,前提是 proof 里 ...

  4. Windows 2003 服务器安全设置-批处理 (附参考链接)

    长期维护windows服务器终结出来的安全设置批处理与大家分享,复制以下全部内容用记事本另存为bat或者cmd执行 ===================分隔符号=================== ...

  5. Codeforces 627 A. XOR Equation (数学)

    题目链接:http://codeforces.com/problemset/problem/627/A 题意: 告诉你s 和 x,a + b = s    a xor b = x   a, b > ...

  6. const型类成员

    一.关于const类成员函数有以下几个需要注意的地方: 1. 在普通的非const成员函数中,this的类型是一个指向类类型的const指针,而const成员函数中,this的类型是一个指向const ...

  7. 谈Android四大组件之Service篇

    Service简介 Service是Android系统中的四大组件之一,它是一种长生命周期的,没有可视化界面,运行于后台的一种服务程序.Service必须在AndroidManifest.xml中声明 ...

  8. 错误"因为数据库正在使用,所以无法获得对数据库的独占访问权"的解决方案

    今天在还原数据库的时候,提示"因为数据库正在使用,所以无法获得对数据库的独占访问权",无论我是重启数据库,还是重启计算机,都不能解决问题,多番尝试后,终于解决了该问题.现将引发该问 ...

  9. 移动端翻页插件dropload.js(支持Zepto和jQuery)

    一. 声明 代码来源:github上的dropload项目. 二. 问题 dropload.js提供了最基本的上拉翻页,下拉刷新功能.对于由服务端一次返回所有数据的情况基本通用. 但是,需求往往不是服 ...

  10. (剑指Offer)面试题30:最小的k个数

    题目: 输入n个整数,找出其中最小的K个数.例如输入4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4,. 思路: 1.排序 把输入的n个整数排序,然后取前k个数: 时间复杂度 ...