楊朔等
摘 要: 移動醫(yī)療(mhealth)通過移動設(shè)備提供與醫(yī)療相關(guān)的服務(wù),Android是mhealth APP中最普遍使用的移動設(shè)備操作系統(tǒng)。簡要介紹了Android系統(tǒng)和mhealth概念,利用時鐘和云服務(wù)功能設(shè)計和實現(xiàn)了健康提醒系統(tǒng)。該系統(tǒng)使用戶可以隨時了解自己的健康數(shù)據(jù),幫助用戶養(yǎng)成良好的健康生活習(xí)慣。
關(guān)鍵詞: Android; 時鐘; 云服務(wù); 健康提醒系統(tǒng)
中圖分類號:TP399 文獻標(biāo)志碼:A 文章編號:1006-8228(2015)03-53-03
Abstract: The Mobile Health (mHealth) provides medical service by mobile devices, it is a social hot topic. Android is the most commonly used mobile operating system for mHealth APP. This paper, firstly, takes a brief overview of Android architecture, and then introduces the concept of mhealth. lastly, the design and implement the system by using of Clock and Cloud Services is described. The system users can know their own health data at any time, thereby helping themselves to develop good health habits.
Key words: Android; clock; cloud services; health reminder
0 引言
隨著3G技術(shù)的成熟,移動終端不再僅是通訊網(wǎng)絡(luò)的終端,而是已成為互聯(lián)網(wǎng)的終端。因此,移動終端的應(yīng)用軟件和需要的服務(wù)有了巨大的發(fā)展空間。如今4G技術(shù)的應(yīng)用使得無線上網(wǎng)速度越來越快,很多內(nèi)容豐富的應(yīng)用程序都能部署在智能手機上,如視頻點播、電子商務(wù)終端等。為了承載數(shù)據(jù)應(yīng)用和快速部署,手機功能越來越智能,越來越開放。Android迎合了這些需求,從2003的默默無聞,到現(xiàn)在已經(jīng)擁有龐大的用戶基數(shù)。
由Google公司發(fā)起的OHA聯(lián)盟推出的基于Linux平臺的Android開源手機操作系統(tǒng),它支持多樣性的語言,如Java、C、C++等主流的編程語言,如Ruby、Python等腳本語言,另外,Google為Android應(yīng)用開發(fā)了Simple語言,因此Android有非常廣泛的開發(fā)群體。
本文首先對Android的總體架構(gòu)作簡要分析,然后對于系統(tǒng)中的部分組件進行綜述,最后基于Android的組件設(shè)計與實現(xiàn)一個健康提醒系統(tǒng)。
1 Android系統(tǒng)架構(gòu)
Android本身是作為面向手機等多種智能終端的操作系統(tǒng),也是供其應(yīng)用程序進行開發(fā)的完全開源的軟件平臺,它不僅構(gòu)建了底層的操作系統(tǒng),更重要的是它還架構(gòu)上層的用戶界面和必要的應(yīng)用程序,如Web瀏覽、收發(fā)E-Mail等,被作為核心應(yīng)用程序加入到Andriod設(shè)備中。
Android平臺自底向上由以下四個層次組成:Linux內(nèi)核層、運行時庫和其他庫層、應(yīng)用框架層、應(yīng)用程序?qū)覽2]。
1.1 應(yīng)用程序?qū)?/p>
Android本身會附帶一些核心的應(yīng)用程序,包括e-mail客戶端、短信程序、日歷、地圖、瀏覽器、通訊錄等,目前所有的應(yīng)用程序都是用Java語言編寫的。開發(fā)人員也可以用其他程序替換Android提供的應(yīng)用程序。
1.2 應(yīng)用程序框架
應(yīng)用程序框架層是進行Android開發(fā)的基礎(chǔ),在該層Android 開發(fā)人員可以跟那些核心應(yīng)用一樣擁有訪問框架APIs的全部權(quán)限。應(yīng)用的結(jié)構(gòu)化設(shè)計簡化了各組件之間的重用,任何應(yīng)用都可以分發(fā)自己的組件,任何應(yīng)用也可以使用這些分發(fā)的組件。應(yīng)用程序框架層包含了視圖系統(tǒng)、內(nèi)容提供器、資源管理器、通知管理器、活動管理器、窗口管理器、位置管理器、電話管理器、包管理器等9大部分[1]。
在Android平臺中,應(yīng)用開發(fā)者可以完全訪問應(yīng)用框架所使用的API框架,同時,Android平臺在設(shè)計時是按照MVC的設(shè)計模式來設(shè)計的,它充分考慮了平臺中各個應(yīng)用組件的重用。
1.3 系統(tǒng)運行層
系統(tǒng)運行層特別重要,它主要包括系統(tǒng)庫和運行庫。
⑴ 系統(tǒng)庫:系統(tǒng)庫中包含著一些C/C++庫,它們通過Android應(yīng)用程序框架為開發(fā)者提供服務(wù), 這些庫能被Android系統(tǒng)中不同的組件使用,為Android平臺的開發(fā)者提供了巨大方便,尤其是為深度定制Android平臺提供了便利。以下是一些核心庫:系統(tǒng)C庫、媒體庫、Surface Manager、LibWebCore。
⑵ 運行庫:由核心庫和Dalvik虛擬機構(gòu)成的運行庫,其中核心庫提供了Android平臺使用Java編程所需使用的大多數(shù)功能。每個Java程序都運行在Dalvik虛擬機之上,與PC一樣,每個Android應(yīng)用程序都有自己的進程,Dalvik虛擬機只執(zhí)行.dex的可執(zhí)行文件。而Dalvik虛擬機是一種緩存器形態(tài)的虛擬機,其所執(zhí)行的中間碼與Java虛擬機的機制不同,其在開發(fā)時就已經(jīng)設(shè)想用最少的內(nèi)存資源來執(zhí)行專門的、為移動設(shè)備而設(shè)計的特征,以及支持前面提到的同時執(zhí)行多個虛擬機的特征。一個應(yīng)用,一個虛擬機實例,一個進程。每一個Android應(yīng)用都運行在一個Dalvik虛擬機實例中,而每一個虛擬機實例都是一個獨立的進程空間。
1.4 系統(tǒng)核心層
2.4 Activity
Activity是最為常用的組件。應(yīng)用程序中,一個Activity通常就是一個單獨的屏幕,它上面可以顯示一些控件也可以監(jiān)聽并處理用戶的事件作出響應(yīng)。每個Activity都是一個單獨的類,它擴展實現(xiàn)了Activity基礎(chǔ)類。這個類顯示為一個由Views組成的用戶界面,并響應(yīng)事件。大多數(shù)程序有多個Activity。
Activity之間通過Intent進行通信。在Intent 的描述結(jié)構(gòu)中,有兩個最重要的部分:動作和動作對應(yīng)的數(shù)據(jù)。典型的動作類型有:MAIN(activity的門戶)、VIEW、PICK、EDIT 等。而動作對應(yīng)的數(shù)據(jù)則以URI 的形式進行表示。
一個Android應(yīng)用程序可以被看成一組任務(wù),每個任務(wù)成為一個Activity。在應(yīng)用程序中,通常是一個Activity一個屏幕,用于表現(xiàn)數(shù)據(jù)及與用戶交互,每個屏幕可以有一個或多個組件布局。
4 結(jié)論
本文實現(xiàn)的基于Android技術(shù)的健康提醒系統(tǒng),只需在任何使用Android系統(tǒng)的智能機上安裝客戶端程序,便可每日實時健康提示。該系統(tǒng)可遠程存儲,使得手機用戶即使丟失本地數(shù)據(jù),也可重新從服務(wù)器端讀取,能夠隨時掌握自己的歷史健康數(shù)據(jù)。系統(tǒng)下一步將通過建模對健康數(shù)據(jù)進行深度挖掘和分析,為用戶提供及時的健康醫(yī)療建議。
參考文獻:
[1] Lauren Darcey, Share Conder著.北京麥稈創(chuàng)智信息技術(shù)有限公司
譯.Andriod移動應(yīng)用開發(fā)[M].人名郵電出版社,2012.
[2] 楊豐盛.Android應(yīng)用開發(fā)揭秘[M].機械工業(yè)出版社,2010.
[3] Butler M. Android: Changing the Mobile Landscape[J]. IEEE
Pervasive Computing,2011.10(1):4-7
[4] 丁永明,紀(jì)方明.基于Android平臺移動學(xué)習(xí)軟件的研究與實現(xiàn)[J].數(shù)
字通信世界,2011.1:66-68
[5] 李楊,馮剛,李亮等.基于Android的多媒體應(yīng)用開發(fā)與研究[J].計算
機與現(xiàn)代化,2011.4:149-152
[6] 劉楓.Android智能天氣預(yù)報系統(tǒng)設(shè)計及實現(xiàn)[J].計算機與時代,
2011.4:61-63