周洪艷,林 超,丁 頌
(1.長春師范大學工程學院,吉林長春 130032;2.福州機電工程職業(yè)技術學校,福建福州 350011)
?
基于Android的點餐系統(tǒng)APP設計
周洪艷1,林 超2,丁 頌1
(1.長春師范大學工程學院,吉林長春 130032;2.福州機電工程職業(yè)技術學校,福建福州 350011)
本文主要介紹了基于Android的點餐系統(tǒng)APP設計部分。在系統(tǒng)總體層面,結合APP、網(wǎng)絡、通信、數(shù)據(jù)庫和服務器的設計與架構,實現(xiàn)手機點餐功能;在功能層面,基于面向對象的程序設計思想,使得不同使用角色進入不同的功能界面,進行相應操作;在技術層面,基于Android平臺,以Java語言為開發(fā)語言,Eclipse 4.2.2作為開發(fā)工具,SQLServer2008R2作為數(shù)據(jù)庫,Windows Server 2008 IIS7.0作為服務器;本系統(tǒng)APP設計包括界面設計、功能實現(xiàn)、投入使用方面,符合點餐系統(tǒng)主題、風格,能夠實現(xiàn)餐廳人員和顧客的點餐需求。
Android;點餐系統(tǒng);APP設計
隨著社會信息化的發(fā)展,我國餐飲業(yè),尤其是快餐行業(yè)迅猛發(fā)展。傳統(tǒng)餐飲業(yè)管理成本高、管理水平低、人力資源浪費、服務員工作量大、工作效率低、點菜周期長、跑單漏單嚴重、紙張等消耗大,嚴重影響到餐飲業(yè)服務品質和形象[1]。手機點餐系統(tǒng),切實實現(xiàn)了餐廳服務員通過手持設備為顧客點菜、加菜,并即時把數(shù)據(jù)傳到后臺并發(fā)送到廚房與前臺的打印機上,打印機立刻打印所點的菜單,而且所有的操作數(shù)據(jù)都儲存在后臺的數(shù)據(jù)庫中,以備查詢。手機點餐節(jié)省時間、安全方便,大大提升了餐飲業(yè)的形象和工作效率,滿足社會信息化發(fā)展的需求。
1.1 系統(tǒng)總體設計
本系統(tǒng)主要有APP模塊、無線通信傳輸模塊、數(shù)據(jù)庫設計模塊、服務器模塊、顯示模塊五部分。利用星型ZigBee無線傳感器網(wǎng)絡實現(xiàn)數(shù)據(jù)傳輸,傳送至服務器。簡單硬件、軟件設計,實現(xiàn)手機點餐功能。系統(tǒng)總體框圖如圖1所示。
圖1 系統(tǒng)總體框圖
1.2 系統(tǒng)總體功能
基于Android的手機點餐系統(tǒng),可以通過APP、PC機、ZigBee技術、打印機以及網(wǎng)絡實現(xiàn)顧客、服務員、廚師、收銀員及管理員一體化的餐飲點餐功能。顧客可以通過手機下載APP,實現(xiàn)預定、點餐、外賣、結賬服務;服務員可以通過APP進行查詢桌臺、菜品、開桌、點菜、退菜操作;廚師可以通過LED顯示器實時接收到點餐信息并打印,每收到點餐信息廚房會通過報警器進行提示;收銀員可以通過APP查看所有的訂單,選擇相應的訂單進行結賬操作,并進行營收統(tǒng)計;管理員可以通過APP實現(xiàn)臺桌、菜譜、人員數(shù)據(jù)的增刪、改查操作。
2.1 Android簡介
Android是一種基于Linux的自由及開放源代碼的操作系統(tǒng)。開放性是Android的最大優(yōu)勢。Android應用程序的基本組件:Activity(活動)、Service(服務)、Broadcast Receiver(廣播接收器)、Content Provide(內容),在這些組件之間的通訊主要是由Intent(意圖)協(xié)助完成的。Activity是構成Application的基本組件,一般帶有UI和消息處理過程,Android通過Activity Stack來管理。Android系統(tǒng)會判斷應用程序的Activity是屬于哪一個類,給予不同的Activity生命周期。Activity間的切換是靠Intent實現(xiàn)。
2.2 Java語言簡介
Java語言是完全面向對象的編程語言。面向對象程序設計思想是現(xiàn)在程序設計的主流思想,它通過給程序中加入擴展語句,把函數(shù)“封裝”進編程所必需的“對象”中,使得復雜的工作條理清晰,編寫容易[2]。Java語言中萬事萬物都是對象。作為面向對象的跨平臺程序設計語言,Java已被越來越多的程序開發(fā)人員使用。在Java中所有的數(shù)據(jù)對象都依賴于類,主要包括基本數(shù)據(jù)類型對應的封裝類、字符串String類、JDK包提供的類及開發(fā)人員自定義的類[3]。Java具有簡單、面向對象、分布式、解釋性、多線程、動態(tài)性、封裝性、繼承性等特點。
2.3 開發(fā)環(huán)境和開發(fā)工具
本系統(tǒng)基于Android平臺,采用Thread、I/O流、UI開發(fā)、數(shù)據(jù)存儲等技術開發(fā),開發(fā)包為JDK1.6、SDK22.0.5,開發(fā)工具采用Eclipse 4.2.2,數(shù)據(jù)庫為SQLServer2008R2,服務器為Windows Server 2008 IIS7.0。
2.4 Android環(huán)境安裝和配置
(1)安裝JDK和配置Java開發(fā)環(huán)境;(2)Android SDK的安裝與配置;(3)Eclipse安裝和配置;(4)Sqlite數(shù)據(jù)庫工具安裝。
2.5 測試環(huán)境和新建項目
雙擊eclipse目錄下的eclipse.exe,打開eclipse開發(fā)開具。打開菜單“File”,選擇“NEW”→“Project…”菜單命令,出現(xiàn)“Android Project”選項,則表示安裝配置成功。在“New Android Project”對話框中依次輸入相應Project Name,Select Build Target選擇Android 2.2,輸入相應Application Name(程序名稱)和Package Name(程序包名稱),并勾選Create Activity。點擊完成,實現(xiàn)新建一個Android項目。
APP是英文Application的簡稱,指運行在手機、平板電腦等移動終端設備上的第三方應用程序。App設計就是為這些移動終端設計第三方應用程序。
3.1 界面設計
3.1.1 設計要求
界面包括背景和控件。背景選擇要符合系統(tǒng)主題,控件要滿足功能需求,布局要合理,界面要美觀,整體設計要符合操作邏輯。
3.1.2 設計結果
登錄是系統(tǒng)的入口。如果未注冊可注冊賬號,進入注冊界面。如果已注冊填寫用戶名和密碼進行登錄,登錄之后就可以進行開桌,點餐是系統(tǒng)的核心??蛇x餐的類別和咖啡師,當客人入桌后服務員啟動點菜功能記錄當前桌客戶所選擇的菜。登錄界面如圖2所示,點餐界面如圖3所示。
圖2 登錄界面
圖3 點餐界面
3.2 功能實現(xiàn)
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等),它們各自的實現(xiàn)類,各種能被處理的數(shù)據(jù)和啟動位置。
3.2.2 登錄界面程序設計
(1)控件:文本框TextView、編輯框EditText和按鈕Button;(2)文件AndroidManifest.xml:配置APP應用,設置icon圖標,注冊Activity;(3)線性布局LinearLayout:按行或按列方向逐個排列控件,設置背景、各控件id等屬性,使界面布局合理;(4)功能實現(xiàn):以登錄按鈕為例實現(xiàn)登錄功能,布局文件中定義登錄按鈕控件,設置其id為btn_login,為了讓btn_login控件點擊的時候有處理方法、有邏輯,設置一個單擊事件監(jiān)聽類。新建Java類,實現(xiàn)接口。在Activity中初始化btn_login控件,為btn_login控件注冊事件監(jiān)聽。用戶點擊“登錄”按鈕跳轉到相應界面。
3.2.3 點餐界面程序設計
(1)控件:按鈕Button、編輯框EditText、列表ListView;(2)文件AndroidManifest.xml:注冊Activity;(3)布局方式:以1個LinearLayout線性布局嵌套2個LinearLayout布局,設置背景、各控件id等屬性,做到界面合理布局;(4)功能實現(xiàn):以蛋糕類按鈕為例實現(xiàn)點餐功能,設置其id為btn_cake。列表ListView索引了一個xml文件,讓btn_cake控件點擊的時候有處理方法、有邏輯,設置一個單擊事件監(jiān)聽類。新建Java類,實現(xiàn)接口。在Activity中初始化btn_cake控件,為btn_cake控件注冊事件監(jiān)聽。用戶點擊“完成”按鈕后APP需向服務器發(fā)送訂單數(shù)據(jù)表示訂單完成。點餐界面設計流程圖如圖4所示。
圖4 點餐界面設計流程圖
根據(jù)流程圖關鍵代碼如下:
(1)初始化控件
//在OnCreate函數(shù)中調用初始化函數(shù)
initView();//初始化函數(shù)
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)設置按鈕事件監(jiān)聽
//在OnCreate函數(shù)中調用初始化監(jiān)聽事件函數(shù)
initListener();//初始化監(jiān)聽事件函數(shù)
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 測試結果
正確地導出點餐系統(tǒng)APK文件,手機端APP如圖5所示。實驗室點餐系統(tǒng)架構:手機、LED顯示器、報警器、ZigBee協(xié)調器、路由器、PC服務器。系統(tǒng)投入使用情形如圖6所示。
圖5 手機端APP
圖6 系統(tǒng)投入使用示意圖
顧客通過手機端APP點餐后,廚師通過LED顯示器實時接收到點餐信息,每收到點餐信息時會通過報警器進行提示。本系統(tǒng)APP設計符合點餐系統(tǒng)主題、風格,能夠實現(xiàn)餐廳人員和顧客的點餐需求。
[1]邵葉紅,張學敏.基于ZigBee技術的無線點菜系統(tǒng)[J].電子技術設計與運用,2010(10):68-70.
[2]況旭,劉波.XML的面向對象語言特性[J].智能、算法、系統(tǒng)工程,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