基于Android的点餐系统APP设计
2016-12-23周洪艳
周洪艳,林 超,丁 颂
(1.长春师范大学工程学院,吉林长春 130032;2.福州机电工程职业技术学校,福建福州 350011)
基于Android的点餐系统APP设计
周洪艳1,林 超2,丁 颂1
(1.长春师范大学工程学院,吉林长春 130032;2.福州机电工程职业技术学校,福建福州 350011)
本文主要介绍了基于Android的点餐系统APP设计部分。在系统总体层面,结合APP、网络、通信、数据库和服务器的设计与架构,实现手机点餐功能;在功能层面,基于面向对象的程序设计思想,使得不同使用角色进入不同的功能界面,进行相应操作;在技术层面,基于Android平台,以Java语言为开发语言,Eclipse 4.2.2作为开发工具,SQLServer2008R2作为数据库,Windows Server 2008 IIS7.0作为服务器;本系统APP设计包括界面设计、功能实现、投入使用方面,符合点餐系统主题、风格,能够实现餐厅人员和顾客的点餐需求。
Android;点餐系统;APP设计
随着社会信息化的发展,我国餐饮业,尤其是快餐行业迅猛发展。传统餐饮业管理成本高、管理水平低、人力资源浪费、服务员工作量大、工作效率低、点菜周期长、跑单漏单严重、纸张等消耗大,严重影响到餐饮业服务品质和形象[1]。手机点餐系统,切实实现了餐厅服务员通过手持设备为顾客点菜、加菜,并即时把数据传到后台并发送到厨房与前台的打印机上,打印机立刻打印所点的菜单,而且所有的操作数据都储存在后台的数据库中,以备查询。手机点餐节省时间、安全方便,大大提升了餐饮业的形象和工作效率,满足社会信息化发展的需求。
1 系统总体方案
1.1 系统总体设计
本系统主要有APP模块、无线通信传输模块、数据库设计模块、服务器模块、显示模块五部分。利用星型ZigBee无线传感器网络实现数据传输,传送至服务器。简单硬件、软件设计,实现手机点餐功能。系统总体框图如图1所示。
图1 系统总体框图
1.2 系统总体功能
基于Android的手机点餐系统,可以通过APP、PC机、ZigBee技术、打印机以及网络实现顾客、服务员、厨师、收银员及管理员一体化的餐饮点餐功能。顾客可以通过手机下载APP,实现预定、点餐、外卖、结账服务;服务员可以通过APP进行查询桌台、菜品、开桌、点菜、退菜操作;厨师可以通过LED显示器实时接收到点餐信息并打印,每收到点餐信息厨房会通过报警器进行提示;收银员可以通过APP查看所有的订单,选择相应的订单进行结账操作,并进行营收统计;管理员可以通过APP实现台桌、菜谱、人员数据的增删、改查操作。
2 Android平台
2.1 Android简介
Android是一种基于Linux的自由及开放源代码的操作系统。开放性是Android的最大优势。Android应用程序的基本组件:Activity(活动)、Service(服务)、Broadcast Receiver(广播接收器)、Content Provide(内容),在这些组件之间的通讯主要是由Intent(意图)协助完成的。Activity是构成Application的基本组件,一般带有UI和消息处理过程,Android通过Activity Stack来管理。Android系统会判断应用程序的Activity是属于哪一个类,给予不同的Activity生命周期。Activity间的切换是靠Intent实现。
2.2 Java语言简介
Java语言是完全面向对象的编程语言。面向对象程序设计思想是现在程序设计的主流思想,它通过给程序中加入扩展语句,把函数“封装”进编程所必需的“对象”中,使得复杂的工作条理清晰,编写容易[2]。Java语言中万事万物都是对象。作为面向对象的跨平台程序设计语言,Java已被越来越多的程序开发人员使用。在Java中所有的数据对象都依赖于类,主要包括基本数据类型对应的封装类、字符串String类、JDK包提供的类及开发人员自定义的类[3]。Java具有简单、面向对象、分布式、解释性、多线程、动态性、封装性、继承性等特点。
2.3 开发环境和开发工具
本系统基于Android平台,采用Thread、I/O流、UI开发、数据存储等技术开发,开发包为JDK1.6、SDK22.0.5,开发工具采用Eclipse 4.2.2,数据库为SQLServer2008R2,服务器为Windows Server 2008 IIS7.0。
2.4 Android环境安装和配置
(1)安装JDK和配置Java开发环境;(2)Android SDK的安装与配置;(3)Eclipse安装和配置;(4)Sqlite数据库工具安装。
2.5 测试环境和新建项目
双击eclipse目录下的eclipse.exe,打开eclipse开发开具。打开菜单“File”,选择“NEW”→“Project…”菜单命令,出现“Android Project”选项,则表示安装配置成功。在“New Android Project”对话框中依次输入相应Project Name,Select Build Target选择Android 2.2,输入相应Application Name(程序名称)和Package Name(程序包名称),并勾选Create Activity。点击完成,实现新建一个Android项目。
3 APP设计
APP是英文Application的简称,指运行在手机、平板电脑等移动终端设备上的第三方应用程序。App设计就是为这些移动终端设计第三方应用程序。
3.1 界面设计
3.1.1 设计要求
界面包括背景和控件。背景选择要符合系统主题,控件要满足功能需求,布局要合理,界面要美观,整体设计要符合操作逻辑。
3.1.2 设计结果
登录是系统的入口。如果未注册可注册账号,进入注册界面。如果已注册填写用户名和密码进行登录,登录之后就可以进行开桌,点餐是系统的核心。可选餐的类别和咖啡师,当客人入桌后服务员启动点菜功能记录当前桌客户所选择的菜。登录界面如图2所示,点餐界面如图3所示。
图2 登录界面
图3 点餐界面
3.2 功能实现
3.2.1 Android项目资源管理
(1)src:存放所有的Java源程序;(2)res:资源库,drawable是放图片文件的;layout是放布局文件的;(3)gen自动生成R.java文件,R.java将保存所有的资源ID;(4)bin:生成apk的文件夹;(5)AndroidManifest.xml:是每个Android程序中必须的文件。它位于整个项目的根目录,描述了package中暴露的组件(activities,services等),它们各自的实现类,各种能被处理的数据和启动位置。
3.2.2 登录界面程序设计
(1)控件:文本框TextView、编辑框EditText和按钮Button;(2)文件AndroidManifest.xml:配置APP应用,设置icon图标,注册Activity;(3)线性布局LinearLayout:按行或按列方向逐个排列控件,设置背景、各控件id等属性,使界面布局合理;(4)功能实现:以登录按钮为例实现登录功能,布局文件中定义登录按钮控件,设置其id为btn_login,为了让btn_login控件点击的时候有处理方法、有逻辑,设置一个单击事件监听类。新建Java类,实现接口。在Activity中初始化btn_login控件,为btn_login控件注册事件监听。用户点击“登录”按钮跳转到相应界面。
3.2.3 点餐界面程序设计
(1)控件:按钮Button、编辑框EditText、列表ListView;(2)文件AndroidManifest.xml:注册Activity;(3)布局方式:以1个LinearLayout线性布局嵌套2个LinearLayout布局,设置背景、各控件id等属性,做到界面合理布局;(4)功能实现:以蛋糕类按钮为例实现点餐功能,设置其id为btn_cake。列表ListView索引了一个xml文件,让btn_cake控件点击的时候有处理方法、有逻辑,设置一个单击事件监听类。新建Java类,实现接口。在Activity中初始化btn_cake控件,为btn_cake控件注册事件监听。用户点击“完成”按钮后APP需向服务器发送订单数据表示订单完成。点餐界面设计流程图如图4所示。
图4 点餐界面设计流程图
根据流程图关键代码如下:
(1)初始化控件
//在OnCreate函数中调用初始化函数
initView();//初始化函数
private void initView()
{ btn_coffee=(Button)findViewById(R.id.btn_coffee); btn_cake=(Button)findViewById(R.id.btn_cake); btn_drink=(Button)findViewById(R.id.btn_drink); btn_finish=(Button)findViewById(R.id.btn_finish); btn_exit1=(Button)findViewById(R.id.btn_orderexit); lv_one=(ListView)findViewById(R.id.lv_one); }
(2)设置按钮事件监听
//在OnCreate函数中调用初始化监听事件函数
initListener();//初始化监听事件函数
private void initListener()
{ OrderdishOnclickListener_click=new OrderdishOnclickListener(this,0); btn_cake.setOnClickListener(_click); btn_finish.setOnClickListener(new OnClickListener() { @Override public void onClick(View v){ finish();//完成关闭窗体}}); btn_orderexit.setOnClickListener(new OnClickListener() { @Override public void onClick(View v){ finish();//退出关闭窗体}}); btn_coffee.setOnClickListener(new OnClickListener(){ @Override public void onClick(View v){ lv_one.setAdapter(ad);//索引适配器 } });
}
(3)生成适配器
SimpleAdapter sad0=new SimpleAdapter(
MyOrderDishFoodActivity.this,
_arr0,
R.layout.orderdishinfocakeinfo_item,
new String[]{"name","image","info"},
new int[]{R.id.txt_cakename,R.id.img_cake,R.id.txt_cakeinfo});
lv_one.setAdapter(sad0);
(4)页面跳转
Intent intent=new Intent(_act.getApplicationContext(),MyOrderActivity.class);
_act.startActivity(intent);
3.3 测试结果
正确地导出点餐系统APK文件,手机端APP如图5所示。实验室点餐系统架构:手机、LED显示器、报警器、ZigBee协调器、路由器、PC服务器。系统投入使用情形如图6所示。
图5 手机端APP
图6 系统投入使用示意图
顾客通过手机端APP点餐后,厨师通过LED显示器实时接收到点餐信息,每收到点餐信息时会通过报警器进行提示。本系统APP设计符合点餐系统主题、风格,能够实现餐厅人员和顾客的点餐需求。
[1]邵叶红,张学敏.基于ZigBee技术的无线点菜系统[J].电子技术设计与运用,2010(10):68-70.
[2]况旭,刘波.XML的面向对象语言特性[J].智能、算法、系统工程,2010(1):54-57.
[3]张勇.Java类对象比较分析[J].技术.词汇,2011(24):34,44.
APP Design of Restaurant Order System Based on Android
ZHOU Hong - yan1, LIN Chao2, DING Song1
(1.School of Engineering, Changchun Normal University,Changchun Jilin 130032,China; 2. Fujian Vocational College of Mechanical and Electrical Engineering, Fuzhou Fujian 350011,China)
The article focuses on APP design to restaurant order system based on Android .On system level, it combines the design and structure of APP, internet, communication, data base and server to achieve mobile ordering function, while on function level, based on the programming ideas of facing object, it can log in different interface for corresponding operation by using different account, on technology level, it selects Android as operation platform, Java as development language, Eclipse 4.2.2 as tool, SQLServer 2008R2 as database, Windows Server 2008 IIS7.0 as server. The corresponding APP design is composed of interface design, function achievement and application, it accords with the subject and style of order system and can achieve the order requirement from waiter and customer.
Android; order system;APP design
2016-09-01
周洪艳(1980- ),女,讲师,从事计算机与电工电子技术研究。
TP311.1
A
2095-7602(2016)12-0034-05