• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于Android的高校食堂訂餐系統(tǒng)“掌上校園幫”設(shè)計與開發(fā)*

      2023-01-30 04:08:20張濤鵬王君怡
      計算機時代 2023年1期
      關(guān)鍵詞:餐食訂餐控件

      孫 杰,張濤鵬,楊 潔,王君怡

      (昌吉學(xué)院航空學(xué)院,新疆 昌吉 831100)

      0 引言

      隨著我國高等教育的普及化,高校的在校生規(guī)模迅速擴大,對于高校后勤保障能力和服務(wù)質(zhì)量都提出新的挑戰(zhàn),特別是在用餐高峰期存在排隊長、選餐難、結(jié)賬難、占座難和等餐時間久等突出問題[1],嚴重影響了師生的用餐體驗和正常的學(xué)習工作。在5G 技術(shù)和信息技術(shù)迅速發(fā)展,以及消費升級的大背景下,一些餐飲配送平臺迅速興起,依靠便捷的訂餐方式和快速的送餐服務(wù),成功吸引了一批高校學(xué)生用戶[2]。面對上述問題和挑戰(zhàn),傳統(tǒng)的高校餐飲服務(wù)系統(tǒng)亟需利用新技術(shù)、新方法和新模式提升師生就餐便利性和保障師生餐食的安全性,充分發(fā)揮服務(wù)育人的功能[3]。

      1 “掌上校園幫”訂餐系統(tǒng)

      “掌上校園幫”訂餐系統(tǒng)主要利用Android 開發(fā)技術(shù)、移動通信技術(shù)和大數(shù)據(jù)技術(shù)構(gòu)建一款連接師生和食堂的智慧預(yù)定餐食APP,既方便學(xué)生快速瀏覽食堂提供的菜品,輕松下單,又能夠讓餐飲管理者及時掌握用餐數(shù)量和時間,精準備餐并優(yōu)化制作流程,不但能為師生節(jié)約用餐時間,而且可以提升高校餐飲服務(wù)質(zhì)量和效率。

      1.1 系統(tǒng)架構(gòu)設(shè)計

      “掌上校園幫”訂餐系統(tǒng)采用了兩端一服務(wù)架構(gòu)設(shè)計(如圖1所示),兩端分別是前端與管理端,一服務(wù)主要是指服務(wù)器。

      圖1 掌上校園幫系統(tǒng)架構(gòu)

      前端一般為手機和平板等師生手持移動設(shè)備,通過APP 向服務(wù)器發(fā)送HTTP 請求,根據(jù)請求類型和參數(shù),調(diào)用對應(yīng)的業(yè)務(wù)邏輯,將的生成JSON 格式數(shù)據(jù)[4]發(fā)送給前端。管理端使用電腦和平板等設(shè)備,通過IE瀏覽器向服務(wù)器發(fā)送HTTP 請求,根據(jù)請求種類和參數(shù),調(diào)用相應(yīng)的業(yè)務(wù)邏輯,訪問數(shù)據(jù)庫并生成HTML、CSS或JS格式的數(shù)據(jù)反饋給管理端。

      服務(wù)器主要是響應(yīng)用戶的各種請求,采用開源Django 應(yīng)用框架開發(fā)[5]。在Django 框架中,從客戶端提交的所有請求,先經(jīng)url.py類進行URL映射,再根據(jù)正則運算的結(jié)果調(diào)用views.py類中的視圖函數(shù)進行處理,然后根據(jù)業(yè)務(wù)需求與模型層進行交互,最后響應(yīng)完成請求的。

      1.2 系統(tǒng)功能設(shè)計

      通過對項目所在高校師生的走訪調(diào)研,并與后勤餐飲管理人員進行充分的溝通,最終確定“掌上校園幫”訂餐系統(tǒng)的主要功能,其功能模塊如下。

      ⑴瀏覽菜品:通過APP 查看食堂每日提供的主食、菜品、甜食和飲品[6]。

      ⑵美食推薦:根據(jù)后臺數(shù)據(jù)庫記錄,將購買量和師生點贊量較高的餐食進行排序展示。推薦星級的計算公式是:

      其中Rating 表示星級,Sale 表示該食物的每天售賣總量,Comment表示好評量。

      ⑶訂購餐食:當師生找到自己喜愛的食物時,可以點擊購買按鈕輕松下單。

      ⑷發(fā)現(xiàn)特色菜肴:將地方特色菜品集中展示,讓來自外地的學(xué)生不出校門就可以品嘗當?shù)靥厣朗场?/p>

      ⑸評價菜品:根據(jù)自己購買菜品的色澤、味道、份量給出中肯的評價,為其他購買者提供參考,也可幫助制作者改進菜品質(zhì)量。

      ⑹發(fā)布幫帶信息:充分利用校園內(nèi)川流不息的人流量,發(fā)布順道取餐、代買、取快遞、捎物品等信息。

      ⑺個人中心:用戶可以修改個人信息和密碼,也可以瀏覽自己訂單記錄或接單幫送記錄,同時還能顯示當前訂單等待的總?cè)藬?shù)和本筆訂單的位次。

      除以上APP功能外,管理端還提供添加菜品、刪除菜品、修改菜品價格和查看菜品訂單等功能,方便食堂管理人員發(fā)布和修改菜品,并獲取餐食訂購信息。

      2 APP設(shè)計與實現(xiàn)

      2.1 界面設(shè)計

      根據(jù)“掌上校園幫”APP 的功能,設(shè)計相應(yīng)的界面實現(xiàn)對應(yīng)的操作。

      登錄界面(圖2左側(cè)所示)是為檢驗用戶的合法性及保障師生財產(chǎn)安全而設(shè)計。它是用戶接觸APP 的第一個頁面,要從視覺效應(yīng)上傳遞APP 的設(shè)計風格,激發(fā)用戶的興趣。登錄界面使用了約束布局(ConstraintLayout),采用漸變色做為背景,Logo 設(shè)計采用了一名踩著輪滑奔跑的大學(xué)生,充分體現(xiàn)大學(xué)生朝氣蓬勃的精神面貌,另外還利用Photoshop制作較有質(zhì)感的登錄按鈕。注冊界面(圖2右側(cè)所示)同樣使用約束布局并在色調(diào)上與登錄界面保持一致,錄入信息采用TextView、EditText和RadioButton控件實現(xiàn),其中密碼文本控件的inputType 屬性為textPassword,用于隱藏敏感信息。

      圖2 登錄和注冊界面

      瀏覽菜品和推薦美食界面(圖3 所示)、發(fā)現(xiàn)特色美食和幫帶信息界面需要展示大量的相同格式的信息(圖4 所示),主要采用ListView 和GridView 控件設(shè)計。由于二者都是容器控件,需為列表項設(shè)計布局模板,才能讓容器控件中的每一個item 項顯示格式一致,而其內(nèi)容則由數(shù)據(jù)庫中對應(yīng)字段值決定。

      圖3 瀏覽菜品和推薦美食界面

      圖4 發(fā)現(xiàn)特色美食和幫帶信息界面

      2.2 APP核心代碼實現(xiàn)

      ⑴實體類的編寫

      系統(tǒng)在使用過程中需要頻繁從數(shù)據(jù)庫中存取數(shù)據(jù),而數(shù)據(jù)庫中的表與Java 中的實體(Entity)類對應(yīng),因此根據(jù)項目需要存儲的數(shù)據(jù),編寫對應(yīng)的JavaBean,本系統(tǒng)涉及到的實體包括用戶實體、菜品實體、訂單實體和幫帶實體等。其中菜品實體類定義如下:

      ⑵基于okhttp的網(wǎng)絡(luò)請求

      APP在運行過程中要通過網(wǎng)絡(luò)與服務(wù)器進行數(shù)據(jù)交換,網(wǎng)絡(luò)請求功能可以實現(xiàn)客戶端向服務(wù)器發(fā)送請求。Android 開發(fā)中常用okhttp 網(wǎng)絡(luò)框架處理客戶端的請求,該框架同時支持HTTP/1.0 和HTTP/2.0 協(xié)議封裝的網(wǎng)絡(luò)請求,并且使用緩存技術(shù)避免了重復(fù)請求。

      使用okhttp 網(wǎng)絡(luò)請求時,首先要工廠模式構(gòu)建okHttpClient對象,其次是生成Request對象,然后創(chuàng)建call 對象執(zhí)行請求,最后調(diào)用call 對象的enqueue 方法監(jiān)聽響應(yīng)結(jié)果。

      ⑶編寫Adapter類

      由于ListView 和GridView 屬于容器類控件,不能直接添加子項,因此在呈現(xiàn)數(shù)據(jù)的時候需要編寫Adapter 類將AdapterView 加入,它是將AdapterView和數(shù)據(jù)源連接的橋梁,可以將二者輕松綁定。其中菜品展示的適配器類如圖5所示。

      Adapter 類要繼承BaseAdapter 父類,其中包含有泛型列表類型、上下文類型和布局服務(wù)類型的屬性,并在構(gòu)造函數(shù)中對上述三個屬性進行初始化。列表對象mFoods的值是從服務(wù)器獲取,它用于給對應(yīng)的控件賦值,MContext指定上下文環(huán)境,mInflater是Layout文件夾中指定xml 布局文件的實例化對象,作用類似于findViewById()方法。

      另外,編寫的Adapter類要覆寫父類的getCount()、getItem()、getItemID()和getView()四個方法,其功能依次為返回列表對象長度、返回當前列表項、返回當前列表項ID 和更新視圖控件值。內(nèi)部類ViewHolder 是為了優(yōu)化性能而定義,它將所有的列表項控件進行封裝,使得這些控件只需初始化一次,后續(xù)便可反復(fù)更新數(shù)據(jù),提升了APP的運行性能。

      3 管理端設(shè)計與實現(xiàn)

      管理端主要使用Django 和Xadmin 共同開發(fā),由于Xadmin 使用bootstrap 框架構(gòu)建,相較于Django 框架自帶的admin 后臺管理模塊界面更加美觀,而且可以支持多種尺寸屏幕。

      安裝完Xadmin 模塊后,在管理端應(yīng)用下創(chuàng)建adminx.py 文件,用import命令導(dǎo)入Xadmin 模塊、菜品類、訂單類和其他需要后臺管理的類,再調(diào)用Xadmin.site.register()方法注冊這些模型類,然后設(shè)置模型字段的呈現(xiàn)方式、設(shè)置搜索字段、過濾字段、排序字段等,最后添加LoginAdmin類和SysSetting類分別用于設(shè)置登錄和修改瀏覽器顯示信息,這部分的實現(xiàn)代碼如下:

      4 結(jié)束語

      本文使用Android 移動開發(fā)技術(shù)和Django 應(yīng)用框架開了高校食堂訂餐系統(tǒng),既可以實現(xiàn)師生通過APP輕松購買食堂提供的餐食,又能讓后勤餐飲管理者精準掌握每日學(xué)生用餐數(shù)量和就餐時間,提升了服務(wù)質(zhì)量,進而提高了高校后勤信息化保障能力。后續(xù),將在此基礎(chǔ)上增加美食搜索功能,縮短師生查找食物所花費的時間,進一步優(yōu)化系統(tǒng)功能。

      猜你喜歡
      餐食訂餐控件
      一種基于移動端的航空餐食銷售系統(tǒng)的研究與實現(xiàn)
      電子測試(2022年12期)2022-07-18 08:56:50
      關(guān)于.net控件數(shù)組的探討
      軟件(2018年7期)2018-08-13 09:44:42
      動車訂餐
      支點(2017年8期)2017-08-22 17:36:39
      世界銀行:可持續(xù)的學(xué)校餐食計劃要避免“一刀切”
      精確化的航班餐食管理
      就這樣玩會VBA中常見的自定義控件
      電腦迷(2012年24期)2012-04-29 00:44:03
      在PowerBuUder中利用WinSock控件制作簡單的Web服務(wù)器
      VB.NET中ListBox控件實現(xiàn)流程跟蹤
      平泉县| 长顺县| 临沂市| 连南| 塔城市| 图们市| 绥阳县| 沁水县| 冕宁县| 鄂托克前旗| 曲麻莱县| 高邮市| 襄樊市| 屏东县| 沭阳县| 华安县| 莱芜市| 景泰县| 维西| 三江| 资兴市| 拉萨市| 嘉荫县| 新平| 韶关市| 合水县| 胶州市| 北海市| 玉溪市| 临澧县| 景东| 灵宝市| 阿克苏市| 山阳县| 得荣县| 瑞昌市| 左权县| 墨竹工卡县| 正定县| 和政县| 全南县|