当前位置:首页 > 嵌入式 > 嵌入式软件
[导读]系统发挥Android 富有创造力和想象力的"云"应用开发,实现一套Android 客户端软件和完善的后台服务功能来完成点餐功能。该系统主要包括后台数据库服务器、WEB 服务器、无线网络、Android 前端等部分。客户端Android 系统智能手机具有前端处理与计算能力,而且通过无线网络访问WEB 服务器,如果需要数据访问,则访问后台数据库。介绍了系统架构的设计与搭建、技术选型、后台数据库的设计与实现、基本实用的点餐功能的分析、设计与开发。

移动互联网时代来临,一个崭新的时代开始了!

所谓移动互联网就是将移动通信和互联网整合在一起,是移动设备(包括手机和上网本)可以随时随地访问互联网资源和应用。

云是由许多水分子组成的,几乎有几亿个。云没有中央控制,基本上可以随风吹向各处。从这个角度来说,Internet 中无数个具有各种用途的客户机和服务器以及驱动其发展的控制实体就像是云。将这一概念与移动设备带给我们的无线数据革命结合后,我们似乎就处在一种无形的"云"计算力量中了。

智能手机是移动互联网时代一个标志性的客户端工具,具有强大的移动"云"计算和储存能力,可以通过移动通信网络来实现无线网络接入,从而实现各种各样的富有创造力和想象力"云"应用。

"云"计算将可移植设备与强大的服务器互为补充,它需要一个能够让服务器架构师和程序员最大程度利用小型客户机机器的操作系统。Android 就是这样一种操作系统。

传统的餐饮行业,点餐过程都是有餐厅服务员人工完成的。通常过程是这样的,客人进入餐厅后,选好座位开始点餐,服务员等待客人点餐完成,将客人的点餐内容送到厨房,有厨师下厨做菜。这一过程对一个小的餐馆来说没有问题,但如果餐馆比较大、客人比较多或者客人要求某位不在餐厅现场的服务员或老板服务,客人的等待时间就会比较长。为了解决这个问题,出现了无线点餐系统,该系统有无线终端(一般是一个PDA)、无线路由器和后台服务器组成。

但它的弊端很明显,要么PDA 价格高、只能做点餐用、增加系统成本、造成资源浪费等,要么基于传统开发手段开发的B/S 系统架构的点餐系统,但往往在实际应用中速度不尽人意。

1 系统设计

1.1 系统物理架构

该系统主要包括后台数据库服务器、WEB 服务器、无线网络、Android 前端等部分。客户端Android 系统智能手机具有前端处理与计算能力,而且通过无线网络访问WEB 服务器,如果需要数据访问,则访问后台数据库。

客户端采用Android 操作系统(1.5 版本以上)。

服务器端采用Tomcat WEB 服务器(5.5 版本以上)(也可以是其他WEB 服务器)、MySQL 数据库。如图1.

图1 Android 云计算之移动点餐系统物理架构

1.2 系统技术选型

Android 客户端应用使用Java 技术,网络通信使用Apache HTTP协议客户端,中间WEB服务器采用TomcatWEB 服务器技术,采用Servlet 技术响应客户请求。

后台数据库采用JDBC 访问远程MySQL 数据库,Android 客户端的一部分数据同时存储在Android 本地的SQLite 数据库和后台MySQL 数据库中,实现Android 客户端和后台数据库的数据同步技术。如图2 所示。

图2 Android 云计算之移动点餐系统技术选型。

1.3 系统数据库设计

后台Mysql 数据库名称:wireless_db,共计包含以下6 个数据表。
数据表:menutbl(菜品数据表);主键:id(菜品编号);外键:typeID(菜品类型编号)。
数据表:menutypetbl(菜品类型数据表),主键:
id(菜品类型编号)。
数据表:ordertbl(订单数据表),主键:id(订单编号)。
数据表:orderdetailtbl(订单详细信息表);主键:
id(订单菜品编号);外键:orderId(订单编号)。
数据表:tabletbl(餐桌数据表),主键:id(餐桌编号)。
数据表:usertbl(系统用户数据表),主键:id(系统用户编号)。
数据模型设计如图3:

图3 Android 云计算之移动点餐系统数据模型。

2 系统实现

"Android 云计算之移动点餐系统"功能模块实现每个功能模块实现说明:

①系统的登录功能:系统用户输入用户名和密码,实现登录,进入系统主菜单。登录过程是通过无线网络,在后台数据库中通过用户名和密码进行查询。注册用户方可使用该系统。(图4)。

图4 系统功能实现框图。

②系统主菜单:包括点菜、并台、转台、查台、更新、设置、注销、结算等以图形方式展现的系统功能菜单。
③点餐功能:操作员输入客人的点餐信息,通过无线网络及时的将点餐信息传送到后台服务器,进而在厨房终端显示,利于厨师尽快下厨做菜。该模块包括了开桌、点菜、下单三个功能。(图5)。

④结算功能:操作员根据订单编号查询点餐订单信息和订单信息详细列表,顾客确认后单击结算按钮进行结算。

⑤查台功能:当有顾客进入餐厅时,需要服务员查询餐桌状态(有人或空位),来安排顾客就餐。该过程应是查询数据库中的餐桌数据得到当前餐桌状态列表,通过可视化的界面进行显示。

⑥更新(数据同步)功能:为了提高程序的运行效率,将服务器中菜谱表和餐桌表的数据保存到Android 客户端SQLite 数据库中。因此,当服务器中的数据改变时需要及时将服务器中的数据动态的更新到客户端,更新功能就是为此而设计的[3].

⑦转台功能:顾客下单后,要求更换座位,这时需要更改已经提交的数据。更改的过程是根据订单号找到该订单对应的桌号,将该桌号更改为更换后的桌号。

⑧并台功能:将已经下单的两组顾客合并到一张桌子的过程,该过程需要更改已经提交到数据库中的数据。更新内容包括人数的合并、订单的更新、订单详细的更新和桌位状态的更新。

⑨注销功能:退出"移动云计算之Android 餐饮服务系统".

下面列出更新(数据同步)功能实现的过程代码,其他功能代码从略:

创建一个名为UpdateActivity 的Activity,该类继承ListActivity,通过ListView 展示界面。在该类中定义一个updateMenu()方法用于更新手机前台界面信息,该方法调用服务器Servlet 获得XML 格式的输入流,通过JAVA DOM 解析该XML 获得服务器数据,将数据保存到本地SQLite 数据库中。

服务端创建Servlet、拼成XML 格式数据输出、响应客户端请求等代码从略。
系统运行部分界面如图5、图6.

图5 系统登录实现 .

图6 点餐功能实现。

3 结语

"Android 云计算之移动点餐系统"后台数据库采用JDBC 访问远程MySQL 数据库,Android 客户端的一部分数据同时存储在Android 本地的SQLite 数据库和后台MySQL 数据库中,实现Android 客户端和后台数据库的数据同步技术是本系统在实现快速移动"云"计算中的创新之处。

具体实现中,为了提高程序的运行效率,将后台MySQL 服务器中菜品数据表和餐桌数据表的数据保存到Android 客户端SQLite 数据库中。因此,当后台MySQL 服务器中的数据改变时需要及时将服务器中的数据动态的更新到Android 客户端,更新功能就是为此而设计的。

因此,"Android 云计算之移动点餐系统"完全具有了传统的C/S 和B/S 的优异功能,同时又结合了最先进的移动"云"计算设计理念。

为了满足具有一定规模、需要提高餐厅点餐效率、体现出现代化的气氛、改进客人就餐环境,并借此提高经济效益的餐厅和酒店的实际需求,"移动云计算之Android 餐饮服务系统"实现一套Android 客户端软件和完善的后台服务功能来完成餐饮服务功能。系统不会占用太大的预算,并能尽量沿用原有的成熟技术,与原有系统进行良好的整合,那么该系统将具有很好的开发与应用价值。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭