0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于Android客户端和数据同步技术实现移动点餐系统的应用方案

电子设计 来源:科学与财富 作者:刘芳先,李国 2021-06-26 17:30 次阅读

系统发挥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 格式数据输出、响应客户端请求等代码从略。

3 结语

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

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

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

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

责任编辑:gt

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 智能手机
    +关注

    关注

    66

    文章

    18053

    浏览量

    177045
  • Android
    +关注

    关注

    12

    文章

    3850

    浏览量

    125626
  • 云计算
    +关注

    关注

    38

    文章

    7343

    浏览量

    135700
收藏 人收藏

    评论

    相关推荐

    基于ZigBee的无线系统设计

    【作者】:赖联有;陈仅星;许伟坚;【来源】:《甘肃科技》2010年03期【摘要】:介绍了一种基于ZigBee技术的无线系统的设计方案,并
    发表于 04-23 11:28

    一个服务器,多个客户端,怎么向指定的客户端数据

    我用labview做服务器,单片机做客户端客户端几百个,怎么区分客户端,给指定的客户发发数据
    发表于 06-01 09:26

    为什么LWIP TCP客户端测试中总是出现数据掉包和数据重发现象?

    参考发烧友网络实验中的TCP CLIENT测试移植的程序,将STM32作为客户端,电脑作为服务器,STM32连续发送数据给服务器时,发送一定次数的数据数据就发不上去了,在服务器
    发表于 08-30 04:36

    基于Android平台怎么为多种移动客户端提供即时通信服务?

    核心是基于开源的WebKit 引擎, 对基于HTML 的各种语言具有良好的支持。图像引擎使用基于openGLES1. 0 的三维图形库。本文的研究目的就是基于Android 平台, 提出一种能为多种移动客户端提供即时通信服务
    发表于 03-18 07:17

    TCP通信时服务如何接收客户端数据

    毕设采用的是TCP协议,组员做的是下位机,C编程,WiFi模块工作处于客户端。我负责上位机,Labview使用tcp协议时服务怎么接收客户端数据呢? 我找到的例程都是服务
    发表于 04-14 14:49

    如何使用Socket实现UDP客户端

    本教程介绍了如何利用socket 编程来实现一个 UDP 客户端,与服务器进行通信。与开发 TCP 客户端一样,我们先将 socket 编程的流程列出来,然后给出具体的实例。
    发表于 03-30 07:39

    如何采用Android云计算实现移动系统的设计?

    请问如何采用Android云计算实现移动系统的设计?
    发表于 04-19 08:38

    如何设计出基于Android操作系统的3G手机网络摄像机客户端软件?

    本文深入研究了MJPEG视频压缩算法,阐述了算法实现过程,并设计出基于Android操作系统的3G手机网络摄像机客户端软件。
    发表于 06-01 06:29

    如何实现服务器和客户端数据交互?

    如何实现服务器和客户端数据交互?
    发表于 10-26 07:22

    Labview客户端状态获取

    求助,目前只有5积分,哪位大佬给点帮助:采用TCP传输数据,一个服务器多个客户端,通过一个按钮控制,动按钮将服务器中的一个文件发给4个客户端,目前已
    发表于 11-15 15:02

    android客户端通过蓝牙协议控制继电器

    一直没怎么写博客,贴一个比较简单小例子(以前做的 android 通过wifi实现万能遥控器 中拆分出来的小案例):android客户端通过蓝牙协议,控制继电器(想控制其他玩意,自己设
    发表于 12-02 06:03

    监控系统客户端及服务设计

    库详情2.1.2 数据库接口及实现2.1.2.1 用户注册2.1.2.2 用户查询2.2 监控系统客户端及服务设计2.2.1 `CS`模型
    发表于 12-21 07:02

    基于Android平台的即时通信系统客户端设计

    多种移动客户端提供即时通信服务系统客户端解决方案。 1 系统开发环境
    发表于 12-01 01:16 482次阅读
     基于<b class='flag-5'>Android</b>平台的即时通信<b class='flag-5'>系统</b><b class='flag-5'>客户端</b>设计

    基于Android的校园客户端系统设计

    当前各高校都提供统一的账号和密码登陆学校的各种系统,包括学校新闻、图书馆系统、教务系统和校园一卡通系统等。这些系统一般都分散在不同的子
    发表于 12-13 17:10 15次下载
    基于<b class='flag-5'>Android</b>的校园<b class='flag-5'>客户端</b><b class='flag-5'>系统</b>设计

    Linux操作系统Android手机的即时通信系统客户端的解决方案介绍

    核心是基于开源的WebKit 引擎, 对基于HTML 的各种语言具有良好的支持。图像引擎使用基于openGLES1. 0 的三维图形库。本文的研究目的就是基于Android 平台, 提出一种能为多种移动客户端提供即时通信服务
    的头像 发表于 11-22 08:00 2191次阅读
    Linux操作<b class='flag-5'>系统</b>的<b class='flag-5'>Android</b>手机的即时通信<b class='flag-5'>系统</b><b class='flag-5'>客户端</b>的解决<b class='flag-5'>方案</b>介绍