浙江中醫藥大學信息學院 胡奧杰
吃,是人的一生中最重要的事,每個人都是通過吃來生存。而吃的健康與否就決定了生存的質量。我國是文化大國,有著悠久的歷史,而我們學校也是有著與古文化相結合的中醫而聞名的學校,所以我們要結合我們的醫學背景,開發與之相關的產品。而目前居民的生活水平提高,吃東西也都是按照自己的喜好去選擇,忽視了食物營養的重要性。所以對于不同的人所需要的食物與禁忌是十分必要的。隨著移動技術的發展和提高,移動生活成為我們日常生活中的一部分,而開發用于移動設備上的“體質養生系統”會使得用戶在選擇食物的時候會根據自己的體質去分析營養價值,而不是僅僅看喜好。簡單來說開發“基于android的體質養生(食療)系統”會讓我們的生活更加方便與健康。
自2007年Android被Google公司正式推出以來可以說是飛速發展,目前Android系統平臺已經應用到各個領域。早在2011年6月份,Google官方公布了一項數據,當時每天高達有50多萬臺Android設備被激活,而之前的5月份的每天增加的設備是40萬臺,才過去一個月左右的時間,每天的增加量整整增加了10多萬臺,到目前為止,估計已經遠遠超過1.9億多臺Android設備被激活,可見其發展的速度之快。
國內Android應用開發主要有以下三類:為企業開發應用、開發通用應用以及游戲開發。目前中國大多數應用軟件公司都轉到了Android平臺上,在硬件方面,不管是手機芯片公司還是手機企業都早已經開始了Android平臺的開發。所以說第一類開發者一般都是身處類似這樣的應用軟件開發公司或者手機芯片公司。而第二種或者第三種開發者,主要是創業型公司或者是獨立開發者,他們一般將應用程序放到Android Market或者其他App Market銷售,一般情況下這種方式的銷售都是免費提供給用戶下載,他們的盈利方式主要是通過在應用程序中添加Google的移動廣告(AdMob),通過廣告點擊分成[1]。
Android最初是由Andy Rubin創建,成立22個月后(2005年),這個新興的公司即被Google公司收購。Google收購Android兩年后(2007年11月5日)發布了Android 1.0手機操作系統,并且宣布Android系統開源。由于Android系統平臺是一個真正開放式的系統平臺,無須支付任何費用即可使用,所以越來越多的手機生產商已經搭載了Android操作系統,其中包括:摩托羅拉、三星、HTC、索尼愛立信、LG等;國內手機生產廠商如華為、聯想、中興等也已經使用了Android系統[2]。
Android是一個為手機開發的軟件集,包括操作系統、中間件和關鍵的應用程序。Android SDK提供了用Java編程語言在Android平臺上開始軟件開發所必需的工具和API。Android的系統架構和其它操作系統一樣,采用了分層的架構。Android分為四個層,從高層到低層分別是應用程序層(Applications)、應用程序框架層(Application Framework)、函數庫(Libraries)、Android運行時(Android Runtime)和linux內核層(Linux Kernel)[3]。
Android開發環境搭建主要對Java JDK和SDK的下載、安裝和搭建,Eclipse開發工具的下載和安裝、ADT插件的安裝。然后在在Eclipse中配置Android SDK,升級SDK版本,新建AVD(Android虛擬機)[4]。
新建Android項目,首先單擊通過Eclipse工具條上的 圖標打開創建Android項目窗口,選擇Android Application Project然后點擊下一步填寫工程名,包名,程序名,并選擇Android版本,最后點完成,就成功建立了一個android開發項目。
基于Android平臺下的應用軟件體質養生的設計和開發,實現對體質的判斷和相應的食療信息的查詢作為系統的主要實現目標。
體質養生的系統流程圖如圖3-1所示:

圖3-1 體質養生(食療)系統流程圖
體質養生(食療)系統在性能和表現上都具有自身鮮明的特點,具體表現在以下幾個方面:
(1)基于開放的Android平臺開發和設計;
(2)采用Java語言編寫,具有很好的跨平臺性;
(3)采用面向對象的分析和設計方法;
(4)系統性能穩定高效;
(5)系統運行流暢,占用手機資源較小;
(6)功能明確,網絡上沒有與之相同的程序;
(7)系統界面簡潔但不單調,用戶體驗較好;
(8)操作簡單,具有良好的用戶可交互性;
體質養生系統的開發是針對我們中國人的不同體質相對應的食療而開發,用戶在使用后能夠按照自己的體質選擇相應的食療打到調養身心的目的。其開發平臺為Android2.3.3平臺,適用于Android2.3.3及以上的Android系統的手機[5]。
Android界面是由一個Activity組成的,一個Activity就是和用戶交互的UI顯示界面。而Activity交互界面的顯示樣式主要是靠XML格式的布局文件來完成的,雖然在Activity中也可以通過Java代碼來控制Activity的顯示布局,但是這種方法特別麻煩,而且效率低下,所以一般情況下不建議使用Java代碼來進行界面顯示布局。
在Android系統中,提供了五大布局管理器來方便開發者設計各種各樣的頁面布局顯示。它們分別是:LinearLayout(線性布局)、FrameLayout(幀布局)、TableLayout(表格布局)、RelativeLayout(相對布局)和AbsoluteLayout(絕對布局)。在本項目開發過程中,就用到了LinearLayout和RelativeLayout這兩種布局管理器來進行界面布局的設計[8]。
主界面的靈感主要來源于中醫是國術,與我國的悠遠的文化離不開,所以采用了陰陽魚與龍鳳的搭配方式來作為主界面。
主界面大致設計如圖4-1所示。
這一部分主要是做題目對答,所以采用了Linearlayout和Scroll的布局方式來呈現題目。
其中題目來源是中醫體質分類與判定(ZYYXH/T157-2009)。其正確性,科學性值得信賴,算法也同樣來源于此。
中醫體質測試界面大致設計如圖4-2所示。
這一部分的設計主要是連接數據庫,通過按鈕綁定傳遞值,同時在數據庫中進行搜索,并顯示到listview中。
食療營養查詢大致設計如圖4-3所示。

現在智能手機中主流的操作系統有:Windows Phone、iOS、Android(安卓)。而且可以像個人電腦一樣安裝第三方軟件,并且它具有獨立的操作系統以及良好的用戶界面,很強的應用擴展性、能方便隨意地安裝和刪除應用程序。
在大量的訊息了解中我感覺到智能手機會是以后手機發展的一個大的趨勢。通過對安卓系統一段時間的學習,讓我對Android程序有了一定的了解,畢業設計我就定下來做一個Android平臺的設計。
因為Android編程語言底層的要求是C/C++,應用層以Java為主,而這些正是我們所學過的知識,因此在進行的時候感覺都挺順利。不過也有幾次遇到過一些問題,比如說有一次計時器時間更新后,游戲主界面無法及時的顯示出更新之后的效果,經過一番檢查和詢問老師發現原因就是計時器線程和程序主線程之間的通訊出現了問題,可以使用Android中子線程和主線程通訊的組件Handle,通過Handle每隔一秒由計時器線線程向主線程發送消息,然后主線程來更新界面就解決了。
通過這次的設計開發我學到了很多東西,對Android操作系統以及程序開發方面也有了更深一步的了解和掌握,簡單的總結了幾點比如開源,只有你又編輯基礎,就可以進出其中;系統精煉,這是開源的好處;個性發展,可以根據自己的使用習慣配置。并且它的系統會更安全。
[1](美)SHARON ZAKHOUR,SCOTT HOMME編著.JAVA教程(第4版)[M].2007,09.
[2]郭宏志編著.Android開發應用從入門到精通[M].電子工業出版社,2010,06.
[3]張元亮編著.Android開發應用實戰詳解[M].中國貼到出版社.
[4](美)James Steele編著,譯.Android開發秘籍[M].人民郵電出版社,2011,08.
[5]李寧.Android開發權威指南[M].人民郵電出版社,2011,09.
[6]張利國,王植萌.Android移動開發入門與進階[M].人民郵電出版社,2009,09.
[7]林城.Android 2.3應用開發實戰[M].機械工業出版社,2011,06.
[8]李剛.瘋狂Android講義[M].電子工業出版社[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系統原理及開發要點詳解[M].電子工業出版社,2010,01.
[11](美)達西,李奔.Android移動開發一本就夠[M].人民郵電出版社,2011,01.
[12](美)Shane Conder編著.張魏譯.Android移動應用開發[M].人民郵電出版社,2010,07.
[13]汪永松.Android平臺開發之旅[M].機械工業出版社,2010,08.
[14]百度百科.Angry Birds百科[EB/OL].http://baike.baidu.com/view/4256200.htm.2011-1-1.