Android实训-侯晓蒙-15.doc

上传人:b****2 文档编号:1638873 上传时间:2022-10-23 格式:DOC 页数:13 大小:257.50KB
下载 相关 举报
Android实训-侯晓蒙-15.doc_第1页
第1页 / 共13页
Android实训-侯晓蒙-15.doc_第2页
第2页 / 共13页
Android实训-侯晓蒙-15.doc_第3页
第3页 / 共13页
Android实训-侯晓蒙-15.doc_第4页
第4页 / 共13页
Android实训-侯晓蒙-15.doc_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

Android实训-侯晓蒙-15.doc

《Android实训-侯晓蒙-15.doc》由会员分享,可在线阅读,更多相关《Android实训-侯晓蒙-15.doc(13页珍藏版)》请在冰豆网上搜索。

Android实训-侯晓蒙-15.doc

10软件技术一班-侯晓蒙-10060401015

Android课程设计报告

院系:

计算机与信息工程学院

班级:

10级软件技术一班

学号:

10060401015

姓名:

侯晓蒙

目录

一、系统架构 3

二、功能分配 3

2.1.浏览功能 3

2.2.查询功能 3

2.3.插入功能 3

2.4.修改功能 4

2.5.删除功能 4

三、内部接口设计 4

四、数据库设计 5

4.1数据库需求分析 5

4.2数据库需求分析 5

4.3数据库的逻辑设计 7

4.4连接数据库的设计与实现 9

五、系统实现 10

5.1客户端设计思路 10

5.2主菜单界面 10

5.2.1功能描述 10

5.2.2登录界面的设计 11

5.2.3功能描述 11

5.2.4界面设计 11

5.2.5功能实现及关键代码 11

无线点餐系统的设计与实现

(一)

摘要:

近年来,Android手机的巨大发展,使得设计新式的无线点餐系统成为可能.从客户端、服务器端全面讨论了该点餐系统的设计原理和过程,包括客户端的登陆、点菜、更新、结账等模块,以及服务器端的web服务器、数据库服务器、web工程和MFC工程等模块.经实际测试和应用表明:

该系统具有较高的可靠性和实用性.

关键词:

无线点餐系统;Android;客户端;服务器端

一、系统架构

Android手机的客户端软件通过ApaeheHttp协议,经路由器访问PC机的服务端.PC机必须配置web服务器和数据库服务器.web服务器可以响应客户端的Http请求,并根据相应的请求访问数据库服务器,然后将获得的结果反馈给手机客户端.数据库服务器则用于存储菜单信息、订单信息等内容.

二、功能分配

2.1.浏览功能

菜单库操作模块

顾客操作模块

2.2.查询功能

菜单查询模块

现金结算模块

2.3.插入功能

菜单库操作模块

顾客库操作模块

2.4.修改功能

单库操作模块

顾客库操作模块

访问记录模块

2.5.删除功能

菜单库操作模块

顾客库操作模块

三、内部接口设计

主模块:

输入:

操作系统传递至的各种消息以及用户的输入数据

输出:

用户界面显示

上层模块:

下层模块:

顾客点餐、菜单查询、现金结算、系统管理模块

顾客点餐模块:

输入:

菜号,菜名

输出:

菜肴的基本信息(价格,菜系……)

上层模块:

主模块

下层模块:

提交菜单

菜单查询模块:

输入:

菜号,菜名

输出:

菜肴的基本信息(价格,菜系……)

上层模块:

主模块

下层模块:

显示所查询菜单的基本信息。

现金结算模块:

输入:

显示该顾客所消费的菜单信息

输出:

显示消费金额

上层模块:

主模块

下层模块:

系统操作模块:

输入:

与系统管理对话框有关的各种用户及系统消息

输出:

显示反馈的信息

上层模块:

主模块

下层模块:

菜单操作、更改口令、返回

菜单操作模块:

输入:

菜号,菜名,单价……

输出:

添加后的菜肴基本信息(价格,菜系……)

上层模块:

系统操作模块

下层模块:

四、数据库设计

4.1数据库需求分析

无线点餐系统以酒店服务信息为主体,因此在这个系统中必须要有一个保存菜单信息的表。

所以用编号做主键。

负责登录终端系统的服务人员应该有保存服务人员信息的表,这个表中也是包括一些基本信息。

并且以服务人员的编号作为主键。

在一个点餐系统中,不可避免的要有桌位的编号。

这样的话就必须有一个桌号表,该表保存桌位信息。

顾客可以按照自己的喜好,在酒店布置的桌号中选择自己喜欢的位置。

另外既然是酒店就必须要有一个订单表,该表中包括订单号,点餐时间,用户ID,桌号,人数,是否结账等基本信息。

这样也就还需要一个订单详细表用于存储顾客所点的菜品信息等等。

原准备再弄一个菜品分类表用于区分凉菜,热菜等。

4.2数据库需求分析

数据库的概念设计,即利用数据模型进行概念数据库的模式设计。

根据无线点餐系统的需求,设计出以下的实体-关系模型(E-R)图如图。

图4-1实体联系图

图2-2实体联系图

4.3数据库的逻辑设计

数据库的逻辑设计,即把概念设计得到的概念数据库模式变为逻辑数据模式,它依赖于DBMS。

根据无线点餐系统的需求分析及数据库的感念设计,得到以下的数据库表和表的相关说明如下:

(1)桌号表

桌号表的结构及相关说明如表4-1所示。

表4-1桌号表

序号

字段名称

字段含义

类型

宽度

备注

1

Id

编号

Int

4

Primarykey

2

number

桌位号

Int

4

3

flag

状态位

Int

4

4

description

描述

varchar

16

(2)订单表

订单表的结构及相关说明如表4-2所示。

表4-2订单表

序号

字段名称

字段含义

类型

宽度

备注

1

Id

订单号

Int

4

Primarykey

2

orderTime

下订单时间

Int

4

3

userID

服务员号

varchar

16

4

tableId

桌位号

Int

4

Foreignkey

5

personNum

顾客人数

Int

4

6

isPay

是否付款

varchar

16

7

remark

备注

varchar

16

(3)订单详细表

订单详细表的结构及相关说明如表4-3所示。

表4-3订单详细表

序号

字段名称

字段含义

类型

宽度

备注

1

Id

编号

Int

4

Primarykey

2

orderId

下订单号

varchar

16

Foreignkey

3

menuId

菜谱号

Int

4

Foreignkey

4

number

点菜数

Int

4

5

remark

备注

varchar

16

4.4连接数据库的设计与实现

本系统采用java语言编写,使用jdbc连接Mysql数据库,所以要用到java中的connection对象和mysql驱动连接到数据库。

其实现代码如下所示。

Stringdriver=com.mysql.jdbc.Driver

Stringurl=jdbc:

mysql:

//localhost:

3360/wireless_db?

useUnicode=true&characterEvcoding=utf-8

Stringusername=root

Stringpassword=

Connectionconn;

Class.forName(driver);

Conn=DriverManager.getConnection(url,username,password)

只有成功连接到了数据库才能进行其他操作,否则就无法开展以下的设计与实现工作了。

可见,连接数据库是一个很关键的步骤。

五、系统实现

5.1客户端设计思路

移动终端是使用者最直接接触的东西,包括是否能够让客户很轻松、方便的使用,操作响应时间、主机连接时间、图片综合质量、首页布局质量、首页信息类型等。

一般来说,一个界面主要由下面几个因素构成:

(1)文字:

文字元素是信息传达的主体部分。

界面中的文字主要包括标题、信息、文字链接几种主要形式。

标题和传统媒体中信息传达的基本作用相同,是内容的简概说明一般比较醒目、优先编排。

文字作为占据页面重要比率的元素,同时又是信息重要载体,它的字体、大小、颜色和排布对页面整体设计影响极大。

(2)图形:

图形在界面中具有重要作用。

合理的运用图形,可以生动直观、形象地表现设计主题。

网页中常用的图形格式包括jpg和gif,这两种格式压缩比高,得到了Android平台的支持,图形元素包括标题、背景、主图、链接图标四种。

(3)界面版式:

版式是界面设计的重要组成部分,它将文字、图形等视觉元素进行组合配置,使页面整体视觉效果美观和谐,便于阅读,操作,实现信息传达的最佳效果。

终端系统的界面设计也是综合了文字,图形等元素。

使每一个功能有文字与图片的共同描述,达到看图就大概知道此键是什么功能的目的,最终的目的还是为了使用者能够快速上手,不至于因为操作的不得当而放弃此系统。

5.2主菜单界面

5.2.1功能描述

主菜单界面包含点菜管理、并台管理、转台管理、查台管理、结台管理、更新管理、注销、设置等八个功能模块。

每个功能模块提供一种服务,包含一组功能操作,界面简单明了方便服务人员操作。

5.2.2登录界面的设计

登录界面主要是由服务人员来操作的,所以要简单明了易操作。

利用数据库对用户信息进行核对,核对正确后利用界面跳转到主菜单界面。

每一位服务人员有自己单独的一个账号密码用来登录,这样可以责任到人,不至于出现混乱,否则出现错误都不知道是哪个环节的问题。

5.2.3功能描述

服务人员可通过用户名和密码进入移动终端首界面来为顾客服务。

而服务人员的账号密码是提前在服务器数据库中设置的,每个服务人员都有自己单独的唯一的一个账号密码用来登录,这样可以达到责任到人。

5.2.4界面设计

图5-1用户登录图

5.2.5功能实现及关键代码

单独建立一个Activity用来控制用户的登录,再用户输入账号与密码时,系统先判断用户账号密码是否为空,为空则跳出一个对话框给用户提示;如果不为空则再从EditView中取的账号密码与服务器中的账号密码进行匹配,如果匹配成功则利用Intent语句跳转到下一个主菜单界面。

实现登录主要代码及分析:

loginBtn.setOnClickListener(newOnClickListener(){@Overridepublicvoid

onClick(Viewv)

{

if(validate()){//通过validate()判断账号密码是否为空

if(login()){//通过login()连接数据库核对是否一致

Intentintent=newIntent(LoginActivity.this,MainMenuActivity.class);

startActivity(intent);//启动Activity传递intent来跳转页面

}

Else

{

showDialog("用户名称或者密码错误,请重新输入!

");

}

}}});}

对登录按钮添加监听事件,在服务人员输入账号密码后点击登录后,终端会先判断是否满足validate()方法,此方法是防止账号密码为空时的登录提示,如果为空会跳出一对话框进行提示账号密码是必填项,如果不空,则再判断是否满足login()方法,login()方法是用来与数据库进行连接比较核对是否一致,一致则顺利登录跳转到下一个Activity即主菜单界面,否则出现账号密码错误的提示,登录失败;

privatevoidsaveUserMsg(Stringmsg){//将用户信息保存到配置文件

Stringid="";//用户编号

Stringname="";//用户名称

String[]msgs=msg.split(

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技 > 材料科学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1