王 劍,崔金梅
(山西醫(yī)科大學(xué)汾陽學(xué)院,山西 汾陽 032200)
基于Android的家庭飲食管理系統(tǒng)的設(shè)計與實現(xiàn)*
王 劍,崔金梅
(山西醫(yī)科大學(xué)汾陽學(xué)院,山西 汾陽 032200)
設(shè)計并實現(xiàn)了基于Android的家庭飲食管理移動終端軟件。系統(tǒng)提供了飲食數(shù)據(jù)管理,食物數(shù)據(jù)管理,智能推薦等功能,以滿足家庭成員對健康飲食的信息化管理需求。系統(tǒng)基于Android平臺并采用C/S模式,符合家庭成員飲食地點多變的特點,使得飲食數(shù)據(jù)的管理操作變得簡單化,同時降低了手機端的工作壓力。實驗結(jié)果表明,該系統(tǒng)界面友好,各功能模塊運行流暢,可以很好地滿足實際應(yīng)用需求。
Android平臺;C/S模式;飲食管理;食物管理
隨著社會的不斷發(fā)展,人們的生活節(jié)奏變得越來越快,健康飲食成為了人們健康生活和高效工作的保障。要想做到健康飲食,首先要清楚地記錄自己的飲食菜單,然后根據(jù)自身需求,進行下一步的飲食安排。然而,現(xiàn)階段還沒有針對大眾的簡單易用的飲食管理軟件,人們很難在忙碌的生活和工作中將自己的飲食進行合理的安排。
互聯(lián)網(wǎng)使得人們的生活變得越來越智能化,手機是實現(xiàn)現(xiàn)代化的最主要工具之一,Android是移動平臺上的主流操作系統(tǒng),為手機軟件的開發(fā)提供了保障。本文設(shè)計并實現(xiàn)一款基于Android的家庭飲食智能管理系統(tǒng)。其目的是實現(xiàn)自動化的飲食信息管理,有效地提高家庭成員的健康飲食。
Android是在Linux操作系統(tǒng)的基礎(chǔ)上針對移動設(shè)備而開發(fā)的一款開源的操作系統(tǒng),其被廣泛的用于移動設(shè)備,包括手機、平板等。Android系統(tǒng)作為手機操作系統(tǒng)已經(jīng)成為了主流的平臺,并且有著很大的市場份額。Android系統(tǒng)的廣泛發(fā)展與其自身特點是分不開的,其開放性、移動性、兼容性是Android系統(tǒng)的主要特點。Android系統(tǒng)是由世界知名互聯(lián)網(wǎng)公司谷歌開發(fā)的,它一經(jīng)發(fā)布就憑借著其強大的開源性而被各大手機制造商與世界各地程序員所喜愛,也因此Android系統(tǒng)上的應(yīng)用程序得到了快速的發(fā)展,應(yīng)用程序的不斷增加與使用也促進了Android系統(tǒng)的快速發(fā)展。Android系統(tǒng)實現(xiàn)互聯(lián)網(wǎng)的鏈接方式簡單快捷,包括移動網(wǎng)絡(luò)與無線WIFI,這為它的移動成為了可能。Android系統(tǒng)是在Linux系統(tǒng)上發(fā)展而來的,保證了它的穩(wěn)定性,使得在其上開發(fā)的應(yīng)用程序可以相互兼容,互不干擾[1-2]。
Android系統(tǒng)的發(fā)展受到許多程序員的青睞,不僅是因為其具備開源性的特點,也因為其高效的開發(fā)組件。Android系統(tǒng)包括四大基本組件,分別是Activity(界面),Service(服務(wù)),Content Provider(內(nèi)容提供者),BroadcastReceiver(廣播接收器)。Activity相當(dāng)于Web開發(fā)中的View層,負責(zé)界面的實現(xiàn),Service屬于后臺模塊,負責(zé)程序的監(jiān)聽。Content Provider提供了程序之間數(shù)據(jù)共享的功能,BroadcastReceiver負責(zé)不同應(yīng)用程序之間的消息傳遞。
基于上述特點,本文選擇了Android平臺,開發(fā)了一款基于Android的家庭飲食智能管理系統(tǒng)。
家庭飲食智能管理系統(tǒng)采用C/S模式,該模式的最大特點是減輕客戶端軟件的服務(wù)壓力,客戶端更多的是負責(zé)界面展示和與客戶信息交互。而把信息的計算服務(wù)等操作交由服務(wù)器端來進行及完成。具體如圖1所示。
圖1 系統(tǒng)整體架構(gòu)設(shè)計
由圖1可知,客戶端負責(zé)用戶信息的交互,客戶端采集到用戶信息后,通過移動網(wǎng)絡(luò)傳輸給后臺服務(wù)器,后臺服務(wù)器完成相應(yīng)的計算服務(wù),并返回結(jié)果給客戶端,以此來完成飲食信息的管理。這樣即符合家庭成員飲食地點多變,也減輕了手機端的運算壓力。
系統(tǒng)界面采用三層邏輯結(jié)構(gòu)設(shè)計,分別是登錄頁,一級導(dǎo)航頁,二級導(dǎo)航頁。登錄頁負責(zé)用戶信息驗證,驗證成功后進入一級導(dǎo)航頁,一級導(dǎo)航頁顯示系統(tǒng)的服務(wù)功能,包括用戶信息管理,用戶健康基本數(shù)據(jù)管理,食物管理,飲食數(shù)據(jù)管理,食譜管理,點擊相應(yīng)的界面即可進入到二級界面。二級界面包括:數(shù)據(jù)的添加,修改,刪除,查詢等操作,用戶可以點擊相應(yīng)的按鈕,完成各項操作。
系統(tǒng)功能模塊是由需求分析[3-4]而來的,也是系統(tǒng)開發(fā)的核心模塊,其目的是展示系統(tǒng)所要開發(fā)的各項功能,通過前期的需求分析,系統(tǒng)的功能模塊如圖2所示。
圖2 系統(tǒng)功能模塊
用戶基本信息模塊是系統(tǒng)最基本的功能,用來記錄用戶的基本信息,包括用戶的姓名,性別,年齡,身高,體重,職業(yè)。該功能模塊包括用戶注冊,用戶信息修改,用戶登錄功能。
用戶健康信息模塊是系統(tǒng)記錄用戶的基本健康數(shù)據(jù),為用戶提供基本的健康監(jiān)督,包括用戶的血壓,血糖,血脂,體重以及體溫情況。除了這五項基本監(jiān)督數(shù)據(jù)外,用戶可以按照自身的健康監(jiān)督要求,添加相應(yīng)的指標。通過該模塊記錄的數(shù)據(jù),用戶可以時時的觀察自身健康指標,如果發(fā)現(xiàn)異常,可以及時地進行相應(yīng)的體檢并接受治療。該模塊包括健康指標編輯功能,即健康指標的添加及刪除,健康指標數(shù)據(jù)內(nèi)容的添加,編輯,刪除功能。
食物信息模塊用來展示食物的基本信息,包括食物名稱,食物所含營養(yǎng)成分,食物熱量等基本食物信息。通過該模塊用戶可以根據(jù)自身的實際需求選擇特定的食物進行飲食安排,如高脂肪人群,可以選擇低脂肪的食物,糖尿病用戶可選擇無糖食物,骨質(zhì)酥松人群可以選擇含鈣量多的食物進行營養(yǎng)的補充。食物的存儲按照食物的種類存儲,并提供相應(yīng)的食物搜索功能。食物的瀏覽可以依據(jù)相關(guān)數(shù)據(jù)排序瀏覽,例如熱量屬性從高到低,蛋白質(zhì)含量從高到低,以此來方便用戶進行食物的選擇。該模塊包括食物信息的添加,食物信息的編輯,食物信息的刪除,食物信息查看,食物搜索等具體功能。
飲食信息模塊用來記錄用戶日常飲食的數(shù)據(jù),一日三餐,用戶的飲食信息可以通過該系統(tǒng)來進行記錄,可以幫助用戶更好的進行總結(jié),以及調(diào)整相應(yīng)的飲食的習(xí)慣。該模塊的數(shù)據(jù)還將被智能食物推薦模塊所引用。該模塊包括飲食信息的添加,編輯,刪除,查看等操作。
食譜信息模塊和食物智能推薦模塊是本系統(tǒng)的核心模塊,食譜信息模塊用來展示健康的食譜信息,幫助用戶進行飲食安排,食譜信息的存儲按照低糖,高糖,低熱量,高熱量,高蛋白,低蛋白,高脂肪,低脂肪,高鈣,低鈣等種類進行存儲,幫助用戶進行合適的選擇。食譜信息的存儲種類可以編輯,用戶可根據(jù)自己的需求添加種類,例如添加含鋅量高的食譜,含鉀量高的食譜等等。該模塊包含食譜種類的添加,編輯,刪除,食譜信息的添加,編輯,刪除,查看,搜索等功能。
智能推薦食物模塊是根據(jù)用戶的飲食數(shù)據(jù),并利用食譜信息來進行食物的推薦,推薦的算法使用關(guān)聯(lián)規(guī)則算法Apriori算法,Apriori算法是數(shù)據(jù)挖掘中發(fā)現(xiàn)關(guān)聯(lián)規(guī)則的最基本算法之一,目的是找出關(guān)聯(lián)關(guān)系強的食物,比如用戶早餐選擇了牛奶,那么系統(tǒng)將去食譜中進行關(guān)聯(lián)關(guān)系檢索,面包將被最先推薦。智能推薦食物的實現(xiàn)依托用戶飲食數(shù)據(jù)模塊,與食譜數(shù)據(jù)模塊來實現(xiàn)。
管理系統(tǒng)的開發(fā)離不開數(shù)據(jù)庫[5-6],數(shù)據(jù)庫設(shè)計的好壞直接關(guān)系到系統(tǒng)運行的流暢性,能否設(shè)計出好的數(shù)據(jù)庫,概念模型尤為重要,有了概念數(shù)據(jù)庫模型,便可以根據(jù)相應(yīng)的E-R圖轉(zhuǎn)換為具體的邏輯結(jié)構(gòu)數(shù)據(jù)庫表。根據(jù)用戶的功能模塊,系統(tǒng)設(shè)計了如下的數(shù)據(jù)庫E-R圖。如圖3所示。系統(tǒng)包含五個實體信息,分別是用戶實體,飲食實體,食物實體,食譜實體,健康數(shù)據(jù)實體。其中飲食信息和食譜信息與食物信息進行關(guān)聯(lián),減少數(shù)據(jù)的重復(fù)。
圖3 數(shù)據(jù)庫E-R圖
按照圖3所示的E-R圖,系統(tǒng)數(shù)據(jù)庫中有五個表,分別是:用戶信息表、食物信息表、飲食信息表、食譜信息表、健康數(shù)據(jù)表。具體表結(jié)構(gòu)如表1、表2、表3、表4、表5所示。
表1 用戶信息表
表2 食物信息表
表3 飲食信息表
表4 食譜信息表
表5 健康數(shù)據(jù)信息表
系統(tǒng)主界面如圖4所示,系統(tǒng)主界面由Myecplice工具開發(fā),用戶登錄系統(tǒng)后,進入一級導(dǎo)航界面,包括用戶信息,食物信息,食譜信息,健康數(shù)據(jù)信息,飲食信息,點擊相應(yīng)的界面便可進入二級導(dǎo)航界面。
圖4 系統(tǒng)主界面
本文利用Android平臺實現(xiàn)了家庭飲食智能管理系統(tǒng),該系統(tǒng)不僅可以管理用戶的日常飲食,諸如飲食管理,食譜管理,食物管理,而且可以進行食物的智能推薦,為用戶的飲食提供健康保證,使得普通家庭成員的飲食結(jié)構(gòu)得到明顯改善,讓他們可以專心地進行工作,生活和學(xué)習(xí)。系統(tǒng)基于Android平臺,通過手機客戶端可以方便的使用戶隨時隨地進行飲食管理,使用戶的使用變得簡單、快捷、高效化。實驗結(jié)果表明,該系統(tǒng)界面友好,運行流暢,符合實際需求。
[1]高巖.糖尿病患者飲食營養(yǎng)管理平臺設(shè)計與實現(xiàn)[D].吉林大學(xué)碩士學(xué)位論文,2015.
[2]王地名.J2EE架構(gòu)下的高校飲食管理系統(tǒng)實現(xiàn)[D].電子科技大學(xué)碩士學(xué)位論文,2007.
[3]黃藍會.基于UML進行軟件需求分析的研究[J].微型電腦應(yīng)用,2016.7:9-11
[4]嚴亞瓊.基于敏捷建模方法的軟件需求分析研究及應(yīng)用[D].南昌大學(xué)碩士學(xué)位論文,2014.
[5]王璐.計算機軟件數(shù)據(jù)庫的設(shè)計原則與方式[J].電子技術(shù)與軟件工程,2017.4:175
[6]J.M.Smith,D.C.P.Smith.數(shù)據(jù)庫概念設(shè)計的原則[J].計算機工程與應(yīng)用,1985.7:45-56,44
Design and implementation of family diet management system based on Android
Wang Jian,Cui Jinmei
(Fengyang College,Shanxi Medical University,Fenyang,Shanxi 032200,China)
The Android based mobile terminal software of family diet management is designed and realized.The system provides the functions of diet data management,food data management,and intelligent recommendation and so on,to meet the needs of family members for the information management of healthy diet.The system is based on the Android platform and adopts C/S mode,which conforms to the characteristics of the family members'changing of diet place,and makes the management of the diet data simple and the work pressure of the mobile terminal reduced.The experimental results show that the system is friendly and the functional modules are running smoothly,which can meet the needs of practical application.
Android platform;C/S mode;diet management;food management
TP311
A
1006-8228(2017)10-36-04
2017-08-28
山西醫(yī)科大學(xué)汾陽學(xué)院人才引進科研啟動基金的支持(2016D01)
王劍(1988-),男,山西汾陽人,工學(xué)碩士,助教,主要研究方向:軟件工程,圖像處理,視線跟蹤。
10.16644/j.cnki.cn33-1094/tp.2017.10.011