編輯:初級開發
在二者中,Windows CE的優勢在於,它是一款完全集成的開發平台,從設備驅動程序一路到應用程序框架。有些開發人員可能不太喜歡Windows CE,但Windows CE可以一種快速而簡單且難度最小的方式啟動某個項目,這一點幾乎很少有人會反駁。CE同樣存在不足之處:使用需要支付版稅,並且其代碼庫被微軟公司控制。但值得注意的是,後者也會帶來一些好處。
Linux和其它Unix變體具有免費和開放源碼的優勢,但一直以來,若要將它們用於嵌入式設備(尤其是那些配置有高級用戶接口的設備),存在很大障礙。 Linux操作系統原本設計用於台式機/服務器,且典型分布包含有很多特性(要占用幾兆字節空間和幾個CPU周期),但嵌入式系統根本不需要或者極少用到這些特性。因此,一直以來,若要在Linux操作系統中啟動某個嵌入式新項目,需要多名開發人員花上幾周的時間來創建輕量級(lightweight)軟件映像,帶有所需的功能子集,並且有附加的供嵌入使用的資源。雖然手動搭建Linux映像可以優化事件,但結果仍然沒有被完全優化—有許多用於台式機的重要代碼不能被削減,並且它們不能高效地利用存儲器、CPU和/或功率。
因此,在過去,要麼選擇容易上手的專利系統(Windows CE),或是選擇需要開展大量工作才能啟動的免費和開放的系統(Linux和Linux家族)。
谷歌的Android操作系統進入嵌入領域的時間相對短一些。從根本上講,Android的目的是在Linux操作系統的基礎提供一款功能全面的嵌入式系統框架。總的來講,android旨在使Linux /免費軟件像Windows CE一樣即開即用、易於使用。
谷歌在2007年11月首次發布Android,當時它被定位成一款針對智能手機的操作系統。Android已經取得明顯成功:在不到三年的時間裡,Android已經成為最流行的智能手機操作系統,全球有一半的智能手機使用Android操作系統。每年有10000萬台android手機進入市場。
開發人員後來迅速地意識到:除了手機之外,android在嵌入式應用中也大有用武之地。當前的很多嵌入式設備和手機具有很多相同的屬性:小尺寸液晶顯示屏/觸摸屏、豐富的圖形用戶界面、低功耗處理器、豐富的連接選項(蜂窩、無線、藍牙,等)、電池供電、等等。
因為要考慮可靠性問題,在采用新技術這一塊,醫療設備開發人員一直以來稍稍落後。在等到新技術成熟之後,再將其用於美國FDA監管的設備,這樣做很重要。但是Android操作系統是雜交品種:雖然這項技術相對較新,但是android是以Linux技術為基礎的,而經過檢驗的Linux技術已經在行業中為人所熟知。
android是什麼?
android在根本上使用的是Linux,但為了將其搭建成一款用於快速開發的完整框架,谷歌從以下多個方面對其進行了升級和擴展:
1. android內核支持用於實現更高效電源管理的擴展,並對進程之間的通信進行了修改。
2. android用自己的Bionic替換了Glibc庫。Bionic庫占用的容量小且速度快,並且Bionic庫支持BSD授權而不是GPL授權,從而使用戶不需要GPL授權。
3.包括有嵌入應用程序需要經常用到的多個庫,如WebKit(網頁渲染)、媒體框架、SQLLite和其它庫。
4.有一個硬件抽象層,用於定義硬件驅動程序所需要的接口。
5.機器人運行環境,由Dalvik,優化用於嵌入式應用的Java虛擬機和用於應用程序開發的核心Java API組成。盡管android的“主導模式”是在Java環境下開發應用程序,但也可以用C和其它語言來編寫應用程序,然後使用本地開發工具包將其編譯成本地ARM代碼。
6. android應用程序框架,用於實現Java android應用程序的面向對象的標准結構。
隨著Android機型的不斷增多,從默認HVGA 320x480 到 WVGA 480x800 、FWVGA 480x854 以及QVGA的240x320,
解決方法:代碼package com.android;import Java.util.ArrayList;import Java.util.HashMap
l 使用Intent物件雖然透過Intent並非最快速,但卻是最有彈性的。無論是同一進程或是跨進程的溝通都可以使用它。例如:/* ===== EX-02 ======
android是一個針對觸摸屏專門設計的操作系統,當點擊編輯框,系統自動為用戶彈出軟鍵盤,以便用戶進行輸入。 那麼,彈出軟鍵盤後必然