浙江中醫(yī)藥大學(xué)信息學(xué)院 胡奧杰
吃,是人的一生中最重要的事,每個人都是通過吃來生存。而吃的健康與否就決定了生存的質(zhì)量。我國是文化大國,有著悠久的歷史,而我們學(xué)校也是有著與古文化相結(jié)合的中醫(yī)而聞名的學(xué)校,所以我們要結(jié)合我們的醫(yī)學(xué)背景,開發(fā)與之相關(guān)的產(chǎn)品。而目前居民的生活水平提高,吃東西也都是按照自己的喜好去選擇,忽視了食物營養(yǎng)的重要性。所以對于不同的人所需要的食物與禁忌是十分必要的。隨著移動技術(shù)的發(fā)展和提高,移動生活成為我們?nèi)粘I钪械囊徊糠?,而開發(fā)用于移動設(shè)備上的“體質(zhì)養(yǎng)生系統(tǒng)”會使得用戶在選擇食物的時候會根據(jù)自己的體質(zhì)去分析營養(yǎng)價值,而不是僅僅看喜好。簡單來說開發(fā)“基于android的體質(zhì)養(yǎng)生(食療)系統(tǒng)”會讓我們的生活更加方便與健康。
自2007年Android被Google公司正式推出以來可以說是飛速發(fā)展,目前Android系統(tǒng)平臺已經(jīng)應(yīng)用到各個領(lǐng)域。早在2011年6月份,Google官方公布了一項數(shù)據(jù),當(dāng)時每天高達有50多萬臺Android設(shè)備被激活,而之前的5月份的每天增加的設(shè)備是40萬臺,才過去一個月左右的時間,每天的增加量整整增加了10多萬臺,到目前為止,估計已經(jīng)遠遠超過1.9億多臺Android設(shè)備被激活,可見其發(fā)展的速度之快。
國內(nèi)Android應(yīng)用開發(fā)主要有以下三類:為企業(yè)開發(fā)應(yīng)用、開發(fā)通用應(yīng)用以及游戲開發(fā)。目前中國大多數(shù)應(yīng)用軟件公司都轉(zhuǎn)到了Android平臺上,在硬件方面,不管是手機芯片公司還是手機企業(yè)都早已經(jīng)開始了Android平臺的開發(fā)。所以說第一類開發(fā)者一般都是身處類似這樣的應(yīng)用軟件開發(fā)公司或者手機芯片公司。而第二種或者第三種開發(fā)者,主要是創(chuàng)業(yè)型公司或者是獨立開發(fā)者,他們一般將應(yīng)用程序放到Android Market或者其他App Market銷售,一般情況下這種方式的銷售都是免費提供給用戶下載,他們的盈利方式主要是通過在應(yīng)用程序中添加Google的移動廣告(AdMob),通過廣告點擊分成[1]。
Android最初是由Andy Rubin創(chuàng)建,成立22個月后(2005年),這個新興的公司即被Google公司收購。Google收購Android兩年后(2007年11月5日)發(fā)布了Android 1.0手機操作系統(tǒng),并且宣布Android系統(tǒng)開源。由于Android系統(tǒng)平臺是一個真正開放式的系統(tǒng)平臺,無須支付任何費用即可使用,所以越來越多的手機生產(chǎn)商已經(jīng)搭載了Android操作系統(tǒng),其中包括:摩托羅拉、三星、HTC、索尼愛立信、LG等;國內(nèi)手機生產(chǎn)廠商如華為、聯(lián)想、中興等也已經(jīng)使用了Android系統(tǒng)[2]。
Android是一個為手機開發(fā)的軟件集,包括操作系統(tǒng)、中間件和關(guān)鍵的應(yīng)用程序。Android SDK提供了用Java編程語言在Android平臺上開始軟件開發(fā)所必需的工具和API。Android的系統(tǒng)架構(gòu)和其它操作系統(tǒng)一樣,采用了分層的架構(gòu)。Android分為四個層,從高層到低層分別是應(yīng)用程序?qū)?Applications)、應(yīng)用程序框架層(Application Framework)、函數(shù)庫(Libraries)、Android運行時(Android Runtime)和linux內(nèi)核層(Linux Kernel)[3]。
Android開發(fā)環(huán)境搭建主要對Java JDK和SDK的下載、安裝和搭建,Eclipse開發(fā)工具的下載和安裝、ADT插件的安裝。然后在在Eclipse中配置Android SDK,升級SDK版本,新建AVD(Android虛擬機)[4]。
新建Android項目,首先單擊通過Eclipse工具條上的 圖標打開創(chuàng)建Android項目窗口,選擇Android Application Project然后點擊下一步填寫工程名,包名,程序名,并選擇Android版本,最后點完成,就成功建立了一個android開發(fā)項目。
基于Android平臺下的應(yīng)用軟件體質(zhì)養(yǎng)生的設(shè)計和開發(fā),實現(xiàn)對體質(zhì)的判斷和相應(yīng)的食療信息的查詢作為系統(tǒng)的主要實現(xiàn)目標。
體質(zhì)養(yǎng)生的系統(tǒng)流程圖如圖3-1所示:
圖3-1 體質(zhì)養(yǎng)生(食療)系統(tǒng)流程圖
體質(zhì)養(yǎng)生(食療)系統(tǒng)在性能和表現(xiàn)上都具有自身鮮明的特點,具體表現(xiàn)在以下幾個方面:
(1)基于開放的Android平臺開發(fā)和設(shè)計;
(2)采用Java語言編寫,具有很好的跨平臺性;
(3)采用面向?qū)ο蟮姆治龊驮O(shè)計方法;
(4)系統(tǒng)性能穩(wěn)定高效;
(5)系統(tǒng)運行流暢,占用手機資源較?。?/p>
(6)功能明確,網(wǎng)絡(luò)上沒有與之相同的程序;
(7)系統(tǒng)界面簡潔但不單調(diào),用戶體驗較好;
(8)操作簡單,具有良好的用戶可交互性;
體質(zhì)養(yǎng)生系統(tǒng)的開發(fā)是針對我們中國人的不同體質(zhì)相對應(yīng)的食療而開發(fā),用戶在使用后能夠按照自己的體質(zhì)選擇相應(yīng)的食療打到調(diào)養(yǎng)身心的目的。其開發(fā)平臺為Android2.3.3平臺,適用于Android2.3.3及以上的Android系統(tǒng)的手機[5]。
Android界面是由一個Activity組成的,一個Activity就是和用戶交互的UI顯示界面。而Activity交互界面的顯示樣式主要是靠XML格式的布局文件來完成的,雖然在Activity中也可以通過Java代碼來控制Activity的顯示布局,但是這種方法特別麻煩,而且效率低下,所以一般情況下不建議使用Java代碼來進行界面顯示布局。
在Android系統(tǒng)中,提供了五大布局管理器來方便開發(fā)者設(shè)計各種各樣的頁面布局顯示。它們分別是:LinearLayout(線性布局)、FrameLayout(幀布局)、TableLayout(表格布局)、RelativeLayout(相對布局)和AbsoluteLayout(絕對布局)。在本項目開發(fā)過程中,就用到了LinearLayout和RelativeLayout這兩種布局管理器來進行界面布局的設(shè)計[8]。
主界面的靈感主要來源于中醫(yī)是國術(shù),與我國的悠遠的文化離不開,所以采用了陰陽魚與龍鳳的搭配方式來作為主界面。
主界面大致設(shè)計如圖4-1所示。
這一部分主要是做題目對答,所以采用了Linearlayout和Scroll的布局方式來呈現(xiàn)題目。
其中題目來源是中醫(yī)體質(zhì)分類與判定(ZYYXH/T157-2009)。其正確性,科學(xué)性值得信賴,算法也同樣來源于此。
中醫(yī)體質(zhì)測試界面大致設(shè)計如圖4-2所示。
這一部分的設(shè)計主要是連接數(shù)據(jù)庫,通過按鈕綁定傳遞值,同時在數(shù)據(jù)庫中進行搜索,并顯示到listview中。
食療營養(yǎng)查詢大致設(shè)計如圖4-3所示。
現(xiàn)在智能手機中主流的操作系統(tǒng)有:Windows Phone、iOS、Android(安卓)。而且可以像個人電腦一樣安裝第三方軟件,并且它具有獨立的操作系統(tǒng)以及良好的用戶界面,很強的應(yīng)用擴展性、能方便隨意地安裝和刪除應(yīng)用程序。
在大量的訊息了解中我感覺到智能手機會是以后手機發(fā)展的一個大的趨勢。通過對安卓系統(tǒng)一段時間的學(xué)習(xí),讓我對Android程序有了一定的了解,畢業(yè)設(shè)計我就定下來做一個Android平臺的設(shè)計。
因為Android編程語言底層的要求是C/C++,應(yīng)用層以Java為主,而這些正是我們所學(xué)過的知識,因此在進行的時候感覺都挺順利。不過也有幾次遇到過一些問題,比如說有一次計時器時間更新后,游戲主界面無法及時的顯示出更新之后的效果,經(jīng)過一番檢查和詢問老師發(fā)現(xiàn)原因就是計時器線程和程序主線程之間的通訊出現(xiàn)了問題,可以使用Android中子線程和主線程通訊的組件Handle,通過Handle每隔一秒由計時器線線程向主線程發(fā)送消息,然后主線程來更新界面就解決了。
通過這次的設(shè)計開發(fā)我學(xué)到了很多東西,對Android操作系統(tǒng)以及程序開發(fā)方面也有了更深一步的了解和掌握,簡單的總結(jié)了幾點比如開源,只有你又編輯基礎(chǔ),就可以進出其中;系統(tǒng)精煉,這是開源的好處;個性發(fā)展,可以根據(jù)自己的使用習(xí)慣配置。并且它的系統(tǒng)會更安全。
[1](美)SHARON ZAKHOUR,SCOTT HOMME編著.JAVA教程(第4版)[M].2007,09.
[2]郭宏志編著.Android開發(fā)應(yīng)用從入門到精通[M].電子工業(yè)出版社,2010,06.
[3]張元亮編著.Android開發(fā)應(yīng)用實戰(zhàn)詳解[M].中國貼到出版社.
[4](美)James Steele編著,譯.Android開發(fā)秘籍[M].人民郵電出版社,2011,08.
[5]李寧.Android開發(fā)權(quán)威指南[M].人民郵電出版社,2011,09.
[6]張利國,王植萌.Android移動開發(fā)入門與進階[M].人民郵電出版社,2009,09.
[7]林城.Android 2.3應(yīng)用開發(fā)實戰(zhàn)[M].機械工業(yè)出版社,2011,06.
[8]李剛.瘋狂Android講義[M].電子工業(yè)出版社[M].2011,07.
[9]GONG Lei,ZHOU Cong.Development and Research of Mobile Termaination Application Based on Android[J].Computer And Modernization,2008,8(1):67-98.
[10]韓超,梁泉.Android系統(tǒng)原理及開發(fā)要點詳解[M].電子工業(yè)出版社,2010,01.
[11](美)達西,李奔.Android移動開發(fā)一本就夠[M].人民郵電出版社,2011,01.
[12](美)Shane Conder編著.張魏譯.Android移動應(yīng)用開發(fā)[M].人民郵電出版社,2010,07.
[13]汪永松.Android平臺開發(fā)之旅[M].機械工業(yè)出版社,2010,08.
[14]百度百科.Angry Birds百科[EB/OL].http://baike.baidu.com/view/4256200.htm.2011-1-1.