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

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

云是由许多水分子组成的,几乎有几亿个。云没有中央控制,基本上可以随风吹向各处。从这个角度来说,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 客户端软件和完善的后台服务功能来完成餐饮服务功能。系统不会占用太大的预算,并能尽量沿用原有的成熟技术,与原有系统进行良好的整合,那么该系统将具有很好的开发与应用价值。

android实训项目无线点餐系统服务器的设置,实现Android客户端软件与云计算的无线点餐系统设计...相关推荐

  1. android 实训的背景,Android实训项目作业.doc

    Android实训项目作业 2-1用整型数计算两个数的和2 2-7排列任意4个数的顺序,按从小到大顺序输出2 2.1编写显示下列图形的程序.2 3.1编写程序,当点击按钮命令后,页面标题及文本组件的文 ...

  2. 【个人项目】东北大学软件学院2020级2021年夏季实训项目——东软颐养社区系统

    ps:没想到过了一年这么多学弟来问,看来今年的实训题也没变? 补档:https://cloud.189.cn/t/ZnuiQjQNz67j (访问码:7i6c) 写在前面: 这个项目是大一暑期的实践项 ...

  3. 数据库实训项目之图书借阅系统

    目录 一.需求分析 二.概念结构设计 三.逻辑结构设计 四.物理结构设计 一.需求分析 图书(Book)信息包括图书编号(BookID).图书名称(BookName).图书类别(BookType).作 ...

  4. Android实训案例(九)——答题系统的思绪,自己设计一个题库的体验,一个思路清晰的答题软件制作过程

    Android实训案例(九)--答题系统的思绪,自己设计一个题库的体验,一个思路清晰的答题软件制作过程 项目也是偷师的,决心研究一下数据库.所以写的还是很详细的,各位看官,耐着性子看完,实现结果不重要 ...

  5. Android实训内容及过程,Android项目开发实训大纲.doc

    Android项目开发实训大纲Android项目开发实训大纲 黎明职业大学信息与电子工程学院 <Android项目开发> 实训指导书 2014年6月 <Android项目开发> ...

  6. 项目实训第一周2-学习系统的使用

    项目实训第一周2-学习系统的使用 1.代码生成器的使用 2.sql生成器的使用 3.其他组件的使用 1.代码生成器的使用 如图,是代码生成器的基本构造 可以自行定义选择你要生成代码的注释信息,表信息, ...

  7. Java实训项目一一考试系统(附源码)

    1 实训基本信息 1.1 实训项目名称 (1)考试系统 1.2 实训环境 本次实训内容主要针对专业学生,实训形式以实战讲解为主导.实训课程由实训老师主讲,实训老师教学严谨又平易近人,讲解的内容非常细致 ...

  8. 单片机实训与毕业设计开放式训练系统QY-DPJ14

    一.系统概述: QY-DPJ14单片机实训与毕业设计开放式训练系统是根据机电工学中有关"数字电子"."模拟电子"."单片机应用技术".&qu ...

  9. 实训项目2Linux基本命令,实训项目2 Linux文件系统管理

    实训项目2 Linux文件系统管理 发布时间:2011-06-24 15:51:10来源:红联作者:397778823 一. 实训目的: 1. 掌握磁盘分区的方法: 2. 掌握文件系统的建立.挂装.解 ...

最新文章

  1. Java 中字符串的格式化
  2. SVN 报错“Previous operation has not finished; run ‘cleanup‘ if it was interrupted”
  3. Redis 命令--Redis集合(Set)
  4. arduino蓝牙通讯代码_蓝牙4.0模块 无线数据传输模块 无线蓝牙串口 Arduino
  5. Android实现支持缩放平移图片
  6. vim配置之snippets代码块
  7. android寻找手机,寻找那些“干净”的Android手机
  8. 平安dms开发java_Spring DMS模板同步接收非持久用户消息丢失
  9. 0x0 Transaction mined but execution failed
  10. static_cast vs reinterpret_cast vs const_cast vs dynamic_cast
  11. centos7 rpm安装时报警 Header V3 RSA/SHA256 Signature, key ID 352c64e5: NOKEY
  12. html5页面布局 最基本的规范
  13. 计算机专业学生的学期规划,大学生大一下学期规划
  14. linux 光功率 模块_光模块基本参数-消光比/光功率/灵敏度
  15. 关于Windows下装jupyter
  16. linux离线安装sails,关于sails 初学者常见问题汇总(示例代码)
  17. 关于Vue.js和React.js,听听国外的开发者怎么说?
  18. 螃蟹WiFi驱动中的Band Steering功能
  19. 网络安全运维工程师数据库的核心能力有什么?
  20. 关于新款macbook的vscode不能用‘!‘创建模板问题

热门文章

  1. scrapy中用来代替crawl 功能的main文件配置
  2. 计算机设备行业特征,2018年我国计算机、通信和其他电子设备制造业现状分析 产业园区聚集特征明显...
  3. Self-supervised Learning for Large-scale Item Recommendations (CIKM 2021)
  4. Hadoop常用命令集合
  5. 安卓全屏显示创建activity-land资源找不到的问题
  6. 「解决方案」企业能源管控平台
  7. 【Python】CPython解释器及字节码
  8. 新必应(new bing)申请
  9. 192.168.1.10/27,后面的27是什么意思,这样写限制的网络是哪些?
  10. Oracle ORION IO 测试工具