第41卷第4期
2012年8月上海师范大学学报(自然科学版)JournalofShanghaiNormalUniversity(NaturalSciences)Vol.41,No.4Aug.,2012
基于Android的无线点餐系统设计
陈晓峰,林正浩
(同济大学电子与信息工程学院,上海201804)
Android手机的巨大发展,要:近年来,使得设计新式的无线点餐系统成为可能.从客户
服务器端全面讨论了该点餐系统的设计原理和过程,包括客户端的登陆、点菜、更新、结账端、摘
Web工程和MFC工程等模块.经实际测等模块,以及服务器端的web服务器、数据库服务器、
试和应用表明:该系统具有较高的可靠性和实用性.
关键词:无线点餐系统;Android;客户端;服务器端
5137(2012)04-0369-05中图分类号:TP393.09文献标识码:A文章编号:1000-
0引言
21世纪是个科学技术“爆炸性”发展的世纪,极具科技含量的手机行业更是以跨越式的姿态向前发展.这其中不得不谈到Google公司推出的Android手机操作系统.伴随着iPhone刮起的智能手机之风,
Android系统攻城略地,从2008年起,短短3年即超过塞班系统成为全球市场份额最高的智能手机操作
截止2012年2月统计,其市场份额已占领了全球半壁江山(全球份额为52.5%,在中国更是高达系统,
76.7%,远超仅有11.8%的塞班系统).如此的风云剧变使得曾经的手机行业老大诺基亚利润大幅缩水,匆匆忙忙放下塞班系统,与Intel合作开发MeeGo系统推出N9智能手机,结果市场反应相当平淡.于是放弃MeeGo,与软件行业巨头微软合作,推出搭载WindowsPhone7系统的Lumia手机,但截止目前
季度出货量依然徘徊在百万级,远远落后于iPhone和Android手机.而曾经是手机个性风向标的为止,
——爱立信的股份被索尼全额回购,也许不久的将来索爱和手机行业的鼻祖摩托罗拉的状况则更严重—
它的手机名也要改为Sony而不是SonyEricsson了;摩托罗拉则以125亿美金的价钱被Google全额收购.反观一直力推Android系统的三星和HTC,甚至包括中国的中兴、华为,最近几年其手机出货量一直以两位数增长,彻底瓦解了原来的诺基亚、索爱和摩托罗拉等老牌厂商的市场地位.为什么这么短的时
可以让手机行业重新洗牌,根本原因便在于Android系统的优异性能和免费开源.间,
,“民以食为天”,再来讨论餐饮行业的无线点餐系统需求情况.首先所以不管哪个城市,都有各种
可见市场潜力是非常大的.传统的点餐过程都是服务员人工完成的,但近几菜系各种档次的餐馆饭店,
年伴随着IT技术的发展,也有各种新型的无线点餐系统出现,如基于Zigbee网络的无线点餐系统,但这种系统需要布局Zigbee网络,并开发对应的手持终端,成本高而且不方便,因此大多数饭店仍然不愿意接受这种点餐方式.
既然那么多人手上有Android手机,那么多人需要上餐馆吃饭,那是否可以开发一款点餐系统,成本和性能让餐馆可以接受,同时用餐的客户也会觉得点餐更加便捷和时尚?答案显然是可以的.事实上,只需一个无线路由器,一台电脑,和用户手上的一个手机,就可以完成需求.
06-25收稿日期:2012-
作者简介:陈晓峰(1987-),男,同济大学电信学院硕士研究生;林正浩(1958-),男,同济大学电信学院教授.
370上海师范大学学报(自然科学版)2012年1系统架构
首先给出本设计的整体架构如图1所示
:
Android手机的客户端软件通过Apache由图1可知,
Http协议,经路由器访问PC机的服务端.PC机必须配置
Web服务器和数据库服务器.Web服务器可以响应客户端
的Http请求,并根据相应的请求访问数据库服务器,然后
将获得的结果反馈给手机客户端.数据库服务器则用于存
储菜单信息、订单信息等内容.
2
2.1手机客户端软件设计Android应用程序简介
Android是一种以Linux为内核的开源操作系统,支持图1整体架构
使用Java作为编程语言来开发应用程序(需下载AndroidSDK开发包).Android应用程序由一个或多个
[1]组件组成:
(1)活动(Activity)
Activity是最重要的也是最频繁使用的组件,Activity一般代表手机屏在Android的应用程序当中,
幕的一屏.如果把手机比作一个浏览器,那么Activity就相当于一个网页.在Activity当中可以添加一些Button、ListView、ImageView、TextView等控件.当用户从主屏幕选择一个应用程序时,就会开始一个活动.所有和用户交互的事情都发生在这个组件.比如2.2节将要提到的登陆界面,即为一个Activity.
(2)服务(Service)
Service跟Activity的级别差不多,它可以和其他组件进行交互,但只能后台运行.Service用于任何需要持续较长时间的操作,例如网络监视或更新检查.比如后面将提到的更新菜单功能,即用Service来实现.
(3)内容提供者(ContentProvider)
形象地讲,可以将ContentProvider看做应用程序的数据库管理员.Android应用程序最常用的数据
[4]存储方式是SQLite数据库,它是一个轻量级的数据库,非常适合于嵌入式开发.客户端软件的菜单信
息和订单信息等,都会存储在SQLite数据库里.ContentProvider提供了一个接口,使得别的程序(如Ac-tivity)可以方便的和SQLite数据库 …… 此处隐藏:5057字,全部文档内容请下载后查看。喜欢就下载吧 ……