第二章 文獻探討
第三節 APPS 的建置環境
藉由無線媒體轉介送至其他基本服務區中的工作站,或擷取有線網路中 的資訊(徐士鈞,2007)。
Access Point
Mobile Host
Mobile Host
Mobile Host
Mobile Host
Mobile Host Router
Internet
圖 2-2 基礎架構無線區域網路
本研究中的長照機構內建置無線網路的目的主要有:
1. 延伸網路的使用範圍,使原本有佈線的護理站,能延伸至住民床邊或是 機構中的任何地方,方便機構中使用行動載具可以透過無線網路與伺服 器溝通傳遞資料。
2. 居住於機構中的住民也可以使用自己的行動設備來使用網路。
第三節 APPS的建置環境
一、Android背景介紹
Android是一套以Linux為基礎的手機作業系統平台,行動設備提供一個包含 作業系統、中間層及應用程式的軟體疊層架構。Android SDK為開發人員以Java 語言編寫Android平台下的應用程式提供必要的工具與API。
10
二、Android創始
Android是一家公司的名稱,公司的創辦人名叫Andy Rubin。他原來是蘋果公 司的一名工程師,後來創辦過幾家公司。在建立Android公司時,Andy Rubin準備 打造一個行動終端平台並開放給開發人員,後來Google收購了該家公司,於是就 有了現今如日中天的Android。
三、Android特性
Android推出以來如此受歡迎,不僅是因為網路巨擘Google的大力支持,或是 它可以免費使用,其本身具有的特性才是吸引全球精英開發者的更重要原因。主 要特性如下。
應用程式框架:方便地重用和替換手機元件。
Dalvik虛擬機:專為行動設備最佳化的虛擬機。
內嵌的瀏覽器:基於開發原始碼WebKit引擎。
最佳化的圖形系統:其中定義2D圖形庫,3D圖形庫基於OpenGL ES 1.0,
可選擇硬體加速。
SQLite:整合羽量級資料庫管理系統。
多媒體支援:支援常見的音樂和視訊,以及各種圖片格式,如MPEG4、
H.264、MP3、AAC、AMR、JPG、PNG和GIF等。
GSM技術、藍芽、EDGE、3G和WiFi:需要硬體支援。
攝影鏡頭、GPS、羅盤、加速器:需要硬體支援。
完備的開發環境:包括設備模擬器、除錯工具、記憶體和效能分析工具,
以及用於Eclipse開發環境的套件。
四、Android優勢
目前市面上的手機作業系統除了Android之外,還有Symbian、iOS、Windows Phone 7、Black Berry OS等等,與這些手機作業系統相比,Android具有如下的優 點。
1. 真正開放
Android平台提供從底層作業系統到上層程式介面的所有軟體,使用這個 平台無須繳納任何授權許可費用,同時不同的廠商還可以根據自身需求修改 和擴充Android平台。
2. 應用程式相互平等
在Android平台下,除了應用程式執行的載體虛擬機之外,其他的軟體是 完全平等的,例如:可以自己撰寫收發E-mail的應用程式來替換系統提供的
11
相關軟體。
3. 應用程式
在Android平台下開發應用程式,可以方便的達到應用程式之間的資料共 享,只需要經過簡單的宣告或操作,應用程式就能夠存取或呼叫其他應用程 式的功能,或者將自己的部分資料和功能提供給其他應用程式使用。
五、Android架構
Android 系 統 整 體 架 構 可 分 為 五 個 部 分 , 由 上 而 下 分 別 為 : 應 用 程 式 (Applications) 、 應 用 程 式 框 架 (Application Framework) 、 Android 執 行 時 期 環 境 (Android Runtime)、函式庫(Libraries)、Linux核心(Kernel)(如圖2-3所示)。
圖 2-3Android 系統架構圖 1. 應用程式(Applications)
Android平台是由Java語言開發而成,其搭載一系列的核心應用程式,如 E-mail用戶端、瀏覽器、日曆、電話簿等等。
2. 應用程式框架(Application Framework)
透過一個開放式的平台,程式設計人員可以輕鬆使用設備硬體、設定鬧 鐘、存取位置資訊、執行後端服務、新增狀態欄的提醒等。
同時開發人員還能像核心應用程式那般隨意的使用框架的API來設計自己要 的功能,應用程式框架簡化元件之間的重用性。
在Android平台下、任何應用程式都能發佈自己的功能模組,其他的應用 程式依據一定的安全權限就可以無阻礙地存取這些模組,同時這種機制還允 許用戶隨意更換元件。
3. 函式庫(Libraries)
使部分運行於Linux Kernel之上,其內容包含可供不同元件呼叫的C/C++
函式庫,Android能有那麼豐富多樣化都是由這些函式庫組成。下面列舉一些
12
Surface Manager:主要負責管理針對顯示系統的存取及實現無縫的2D和 3D應用程式整合。
4. Android執行時期環境(Android Runtime)
在 Android 平台下,每個應用程式都在自己的程序中執行,系統為其分 配專有的 Dalvik 虛擬機,Dalvik 虛擬機是一種暫存器型態的虛擬機器,此設 置是參考 Java 虛擬機器,在設計時就加進了一個設備上執行多個虛擬機的 特性,它執行.dex 格式的檔案,這類檔案經過最佳化後,佔用的記憶體非常 小,所以非常適用於行動裝置。
5. Linux核心(Kernel)
Android平台主要架構於Linux版本為2.6版,其中內容包含下列功能:安 全性、記憶體管理、排程管理、電源管理、網路堆疊和硬體驅動程式等系統 服務,此外Linux核心在硬體層和軟體層之間建立了一個抽象層,達到Android 平台的硬體細節對開發人員的透明化。
六、Android的Activity生命週期
每一個 Android 應用程式執行中時,對底層的 Linux Kernel 是每一個單獨的 Process,電腦環境與行動設備環境有很大的硬體規格差異,行動設備規格不如電 腦,所以開發時必須考慮記憶體、省電、散熱、體積等因素,加上行動設備畫面 大小的限制,因此,Android 使用 Activity 觀念。Activity 是 Android 最基本的應 用程式元件,在應用程式中,一個 Activity 通常就是一個單獨的螢幕,用於呈現 資料和與使用者進行互動。
Android 將 Activity 分為五大模式,分別是前景模式(foreground process)、可 見模式(visible process)、背景模式(background process)、空白模式(empty process)和 服務模式(service process),根據不同的模式給予不同的 Activity 生命週期,如圖 2-4 所示(蓋索林,2010)。
13
前景模式(foreground process)
目前正顯示於行動設備螢幕上的應用程式畫面,就是屬於前景模式。
可見模式(visible process)
可見模式最常發生的情況就是應用程式跳出對話視窗要與使用者互動 時,原來的應用程式會變成透明,即進入可見模式,而對話視窗就是前景模 式,當對話視窗關閉後,原來的應用程式馬上從可見模式進入前景模式。
背景模式(background process)
背景模式通常發生在兩個不同的應用程式開啟時,後來開啟的應用程式
當系統需要記憶體時,會清除在背景模式的 Activity,讓它進入空白模 式,等待使用者重新啟動該 Activity 時,這時就會從空白模式進入前景模 式。
14
服務模式(service process)
服務模式有點類似背景模式是在背景狀態執行,但它的優先權和前景模 式一樣,舉例來說,當使用者使用 FTP 在傳輸檔案時,一定是一邊在傳檔,
一邊在進行其他的動作,這時候 FTP 應用程式就進入服務模式,而不是背 景模式,雖然使用者看不到它在執行,但是它的重要性跟前景模式相當,
Android 系統不會自動關閉服務模式的 Activity,除非是使用者自行關閉。
15