摘要:智能手機應用開發(fā)是當前移動應用中的一個流行區(qū)域,該文由淺到深逐步介紹了智能手機(Smart Phone)的概念、主要操作系統(tǒng)、開發(fā)工具、開發(fā)環(huán)境配置,并根據(jù)作者開發(fā)實踐提出移動應用程序開發(fā)中應注意的一些事項,為初涉移動開發(fā)人員提供相應幫助。
關(guān)鍵詞:智能手機;應用;軟件;開發(fā)
中圖分類號:TN929文獻標識碼:A文章編號:1009-3044(2009)33-9304-03
Theories about Applications and Software Development of the Smart Phone
XU Lian-xia
(Jiangsu Vocational and Technical College of Finance Economics, Huaian 223003, China)
Abstract: The Smart phone application development was a popular region in current moblie application,this article from shallow to deep gradually introduces the concept, the main operating system, the development kits,the development environment disposition, and tells some practical experience in mobile application procedure development which should be paid attention to, to provide the corresponding help for persons initially begin the mobile development.
Key words: Smart phone; application; software; development
1999年歲末,第一部初步具有智能手機功能的摩托羅拉天拓A6188誕生了,它是全球第一部具有觸摸屏的手機,也是第一部中文手寫識別輸入的手機。A6188采用了龍珠(Dragon ball EZ)16MHz CPU,支持WAP1.1無線上網(wǎng),采用PPSM(Personal Portable Systems Manager)操作系統(tǒng)。
如今,智能手機已經(jīng)穩(wěn)穩(wěn)地躋身于手機主流市場,全球2004年第一季度移動電話出貨量在智能手機的帶動下,比去年同期增長了29.3%,達到1.527億部,其中智能手機出貨量比上年同期激增85.8%。來自國內(nèi)的報告也顯示,2004年第一季度,中國智能手機市場銷售總量達到65.5萬部,銷售總額達到19.4億元,與2003年同期相比銷量上升195.05%。這些數(shù)據(jù)形象的說明智能手機市場正處于一個高速發(fā)展的時期。
1 什么是智能手機,智能手機的應用
智能手機實際上是結(jié)合了傳統(tǒng)手機和PDA(Personal Digital Assistant)的一種高科技產(chǎn)品。它在具備普通手機全部功能的同時,又具備了一部微型電腦的功能。一部智能手機應具備的條件:
1) 擁有普通手機的基本功能。這方面主要指接打電話和收發(fā)短信兩個方面。
2) 擁有無線接入互聯(lián)網(wǎng)的能力。手機必須支持GSM網(wǎng)絡(luò)下的GPRS網(wǎng)絡(luò)服務(wù)或CDMA網(wǎng)絡(luò)下的CDMA 1× 網(wǎng)絡(luò)服務(wù),高端產(chǎn)品還應該支持3G網(wǎng)絡(luò)。
3) 擁有PDA的主要功能。主要有PIM(個人信息管理),日程記事,任務(wù)安排,多媒體播放,瀏覽網(wǎng)頁等等。
4) 擁有一個開放性的操作系統(tǒng)。在這個操作系統(tǒng)上可以安裝和應用互聯(lián)網(wǎng)上提供的第三方應用程序,從而使手機的功能得到無限的延伸。
手機硬件部分為為3大功能模塊(芯片):無線基帶芯片;存儲芯片和應用處理器; LCD顯示屏和一些周邊配件。
2 智能手機的主流操作系統(tǒng)
智能手機和傳統(tǒng)手機的最大區(qū)別就是它有一個開放性的操作系統(tǒng),目前的智能手機主流的操作系統(tǒng)主要有四種。
2.1 Windows Mobile系列手機操作系統(tǒng)
2.1.1 Pocket PC Phone操作系統(tǒng)
Pocket PC Phone 是目前我們最為常見的微軟智能手機操作系統(tǒng),目前市面上絕大多數(shù)基于微軟操作系統(tǒng)的智能手機都采用了這一操作系統(tǒng),如聯(lián)想ET180、ET560、多普達696、大顯 CU928、多普達等智能手機即采用了此操作系統(tǒng)。該操作系統(tǒng)主要借助手寫筆來完成大部分的操作。
2.1.2 Microsoft SmartPhone操作系統(tǒng)
Microsoft Smartphone是微軟基于Microsoft Windows CE內(nèi)核開發(fā)的、為智能手機提供的一種操作系統(tǒng),該操作系統(tǒng)的手機使用機身提供的鍵盤完成幾乎所有的操作。基于Smartphone操作系統(tǒng)的智能手機與其它微軟操作系統(tǒng)的智能手機在功能上沒有很大的區(qū)別。目前支持該操作系統(tǒng)的智能手機有神達Mio 8390和多普達565等。
此類手機支持 Embedded Visual C++ 、Vs.net開發(fā),部分手機也支持Java語言。有消息證實微軟WinCE5.0將采用完全革新的程式,開發(fā)工具由以往的eVB 3、eVB 4及VS. NET 2003一律規(guī)范為Visual Studio 2005,標準開發(fā)語言是C#,VB .net或C++,平臺內(nèi)容是.NET CF 2.0,MFC 8.0及ATL 8.0。
2.2 Symbian開放式操作系統(tǒng)
Symbian操作系統(tǒng)提供了靈活的應用界面(UI)框架,不但使開發(fā)者得以快速掌握必要的技術(shù),同時還使手機制造商能夠推出不同界面的產(chǎn)品。Symbian系統(tǒng)手機可以采用多種應用界面形式:一類在設(shè)計上很類似當前最常見的手機,即主要通過鍵盤進行輸入的手機,如諾基亞 6600;諾基亞 7610; 諾基亞 6670等;另一類是使用手寫筆進行操作,如索尼愛立信P802、P908;還有一類是既有鍵盤又有觸摸屏的手機,如諾基亞9300—9500。
Symbian OS手機的開發(fā)工具主要是C++ ,BREW和Java,諾基亞推出了最新一代Symbian系統(tǒng)開發(fā)工具Carbide.c++,開發(fā)工具的推出必然進一步增加Symbian操作系統(tǒng)在全球智能手機市場上的領(lǐng)先地位。
2.3 Palm手機操作系統(tǒng)
Palm是3Com公司的Palm Computing部開發(fā)的一種32位的嵌入式操作系統(tǒng), Palm智能手機所用的Palm操作系統(tǒng)又與Palm掌上電腦所用的操作系統(tǒng)非常相似,因此,基于該操作系統(tǒng)的手機擁有的第三方軟件較多,以前用慣了Palm掌上電腦的用戶能非常快速地掌握這類的智能手機。
這種系統(tǒng)對硬件的要求很低,因此在價格上能很好的控制,耗電量也很小。Palm 由于比較早出現(xiàn),應用在手機上還是有很多不完善的地方,相同于其它兩大系統(tǒng),Palm 顯得比較弱小。代表機型:treo 180,三星SGH-i500Treo 600。
目前Palm OS支持J2ME,最新報道Palm將選用IBM 的Eclipps 開發(fā)環(huán)境,開發(fā)人員也能選用C 、C++ 、JAVA等。
2.4 Linux手機操作系統(tǒng)
與Windows Mobile系列操作系統(tǒng)一樣,Linux手機操作系統(tǒng)是由計算機Linux操作系統(tǒng)“變化”而來的。Linux是一套免費使用和自由傳播的操作系統(tǒng)。它支持32位和64位處理器,主要用于配備Intel x86系列CPU的計算機。Linux具有穩(wěn)定、可靠、安全等優(yōu)點,有強大的網(wǎng)絡(luò)功能。在相關(guān)軟件的支持下,可實現(xiàn)WWW、FTP、DNS、DHCP、E-mail等服務(wù)。
目前,基于Linux手機操作系統(tǒng)的產(chǎn)品有三星mitssch-i519和摩托羅拉A768、A780、e680等。作為市場新進入者,Linux 在手機上的應用還非常有限,不過由于Linux具有穩(wěn)定、可靠、安全、源代碼開放等諸多優(yōu)點,市場前景普遍為業(yè)界所看好。
當前智能手機支持的功能如下:中文輸入、WWW瀏覽、多媒體彩信、語音菜單(語音識別系統(tǒng))、支持MP3,WMA等格式文件作為來電鈴聲、WAP瀏覽器(WAP2.0)、紅外接口、無線數(shù)據(jù)通信,無線下載、OUTLOOK收發(fā)郵件、內(nèi)置藍牙接口、可以閱覽WORD,EXCEL,POWERPOINT文檔、內(nèi)置數(shù)碼相機(130萬像素)、多媒體視頻播放(Windows Media Player 9.0)、動態(tài)內(nèi)存128M、支持SD/MMC存儲卡等。
智能手機功能強大,并能支持第三方軟件開發(fā),將廣泛的應用于金融,商務(wù)、教育,工農(nóng)業(yè)智能監(jiān)測等方面。
3 智能手機應用軟件的開發(fā)
智能手機應用程序開發(fā)的一般原則:一致性:應用程序必須在內(nèi)部保持一致,同時也要與在同一平臺上運行的其他應用程序保持一致。簡便性:智能手機的屏幕空間和輸入界面都很有限,操作簡便非常重要。用戶控制:應用軟件應容易理解和易于控制。及時反饋:使用時應該能夠收到對自己的操作清晰而直接的反饋。
常用開發(fā)環(huán)境配置方案:
Windows Mobile 2003 Smartphone的開發(fā)環(huán)境:安裝Microsoft ActiveSync 4.1(移動應用程序的所有開發(fā)工具都需要使用 ActiveSync 4.1 以進行應用程序的開發(fā)和部署),安裝 eMbedded Visual C++ 4.0 和 Service Pack 4,如要使用 C# 或 Visual Basic .NET 為 Smartphone 2003開發(fā)應用程序,您必須安裝 Visual Studio .NET 2003,最后安裝Smartphone 2003 SDK。
Java 2 Micro Edition開發(fā)環(huán)境:
以Nokia模擬器為例, Sun J2ME Wireless Toolkit+Nokia和Jbuilder+Mobileset+Nokia開發(fā)環(huán)境
1) J2ME Wireless Toolkit+Nokia:先安裝Sun J2ME Wireless Toolkit,假設(shè)安裝在C:,可到http://www.cnjm.net上下載然后Nokia模擬器安裝在J2ME Wireless Toolkit的device目錄(c:\\J2MEwtk\\wtklib\\devices),打開J2MEwtk目錄下的bin目錄下的ktoolbar.exe 或者ktoolbar.bat, 就會出現(xiàn)J2ME Wireless Toolkit的運行界面。進行必要的設(shè)置后就可以進行開發(fā)了。
2) Jbuilder+Mobileset+Nokia(Jbuilder 9+ Nokia):安裝Jbuilder 8或Jbuilder 9(不用裝Mobileset),然后安裝mobileset3.0,安裝后,在Jbuilder根目錄下,你會發(fā)現(xiàn)多了一個J2MEwtk文件夾,安裝nokia 7210模擬器 ,安裝完成后還要對Jbuilder進行一定的配置,這里不詳細講解,可以查閱相關(guān)資料。
完成后就可以用Jbuilder在模擬器上進行開發(fā)了。
下面以Windows Mobile 2003 for Smartphone為例談?wù)勚悄苁謾C應用軟件的具體開發(fā)。
1) 手機界面(UI)設(shè)計單元
Smartphone 屏幕大小是 176x220 像素,比 Pocket PC 的屏幕小。而且,Smartphone 已針對單手操作進行優(yōu)化, Smartphone 也不支持觸摸屏或任何類似的鼠標活動,將所有交互限制在采用擊鍵和移動光標的形式進行。
Smartphone的控件
Listview控件,Listview 始終是全屏幕的,無法在列表視圖中選擇項目,當列表視圖具有焦點時,點擊“操作”按鈕,列表視圖就會始終填充該屏幕。
選項卡和屬性, Smartphone UI 設(shè)計樣式指南指定軟鍵 1 用于“確定”(或者任何其他肯定選擇,即“是”、“完成”或“新建”),軟鍵 2 用于“取消”(或者任何否定選擇,即“否”,或進一步的操作)。大多數(shù) Microsoft 應用程序?qū)⑺糜趹贸绦虻闹鞑藛巍?/p>
滑塊和滾動條,沒有輸入方法來移動滑塊或滾動條,對話框樣式一般設(shè)置為“垂直滾動”。而且,如果您在屏幕下方移動光標并且對話框上仍有控件,則屏幕會自動滾動。
Treeview, Treeview 需要大量的屏幕空間,用作分層數(shù)據(jù)的構(gòu)造選擇器。一旦選擇了文件夾,就關(guān)閉全屏樹視圖并顯示該文件夾內(nèi)容。
微調(diào)控件,微調(diào)控件相當于桌面程序的組合框、列表框和列表視圖,旁邊帶有一個左右切換開關(guān)。可以左右移動光標以選擇微調(diào)編輯框中的不同項。按下“操作”按鈕,能顯示所有項的全屏列表,從而可以再次使用“操作”按鈕來選擇一個項。
全屏幕多行編輯,該控件是一個編輯控件,在選中該控件時點擊“操作”按鈕,它會激活全屏幕“記事本”。該控件用于較長的文本,例如電子郵件正文或注釋。
2) 數(shù)據(jù)獲取
智能手機從遠程數(shù)據(jù)源檢索數(shù)據(jù)有了幾種選擇。一種是ActiveSync,可以使用它手動地在桌面計算機和Smartphone之間推/拉(push/pull)文檔。另一個選擇是編程從PC上訪問該設(shè)備并使用遠程API(RAPI)復制文件。還有一種是在Smartphone設(shè)備上通過互聯(lián)網(wǎng)檢索遠程數(shù)據(jù)。Smartphone 上與遠程服務(wù)器通訊的最簡單的方法是 WinInet 函數(shù)(HTTP或者FTP)、遠程加載數(shù)據(jù)的 XMLDOM API 和 Microsoft Internet Explorer。XMLDOM能通過兩個主要的方法檢索數(shù)據(jù):文檔對象和XMLHTTP對象的Load方法,兩個對象都允許從遠程Web服務(wù)器上的XML格式中檢索數(shù)據(jù)。
在Smartphone 2003應用程序中設(shè)置XML Web服務(wù)的使用過程是非常簡單易懂的。為了使用XML Web服務(wù),需要向項目中添加Web引用。項目通過Web引用來使用XML Web服務(wù)。如圖2所示。
3) 應用程序數(shù)據(jù)存儲
用XML存儲數(shù)據(jù)有兩種基本方式。首先,可以利用XmlDocument、XmlTextReader和XmlTextWriter類。另外,也可以運用XML驅(qū)動,基于ADO.NET的數(shù)據(jù)集。在.NET框架精簡版中的XML支持主要是在System.Xml和System.Data命名空間中實現(xiàn)。
4) 同步數(shù)據(jù)
完成連接并處理數(shù)據(jù)后,下一步就是與遠程數(shù)據(jù)存儲同步。上部分已經(jīng)對使用 XMLDOM 在 Internet 上獲取數(shù)據(jù)作了介紹,所以將繼續(xù)以使用該模型并通過 XMLHTTP 對象把更改發(fā)送回遠程服務(wù)器。
5) 電話應用設(shè)計
使用Windows CE API,能輕松地給應用程序添加電話功能。可以輕松地將諸如自動撥號、與呼叫日志交互、訪問 SIM 卡、發(fā)送和接收 SMS 消息等功能添加到應用程序中。提示一下:要使應用程序工作正常,大多數(shù)電話 API 需要連接到模擬器的實際設(shè)備或 GSM 無線設(shè)備,想要開發(fā)這些類型的功能的話,最好準備好測試真實的設(shè)備。
4 結(jié)束語
從手機未來的發(fā)展來看,手機的智能化已成趨勢,手機技術(shù)必將向“3C融合”(計算機、通信產(chǎn)品、消費電子產(chǎn)品)與“3網(wǎng)融合”(互聯(lián)網(wǎng)、電信網(wǎng)、廣電網(wǎng))發(fā)展,手機的應用將會更加廣泛,而作為實現(xiàn)這一切的手機應用軟件的開發(fā)必將會大有可為。
參考文獻:
[1] 傅曦,齊宇,徐駿.Windows Mobile 手機應用開發(fā)[M].北京:人民郵電出版社,2005.
[2] 劉艷.Linux在智能手機領(lǐng)域的發(fā)展[J/OL].互聯(lián)網(wǎng)周刊,2005(12).
[3] Dellinger C.設(shè)計可靠的應用程序以利用基于Windows CE的Smartphone設(shè)備[EB/OL].(2005-11-01)[2006-03-05].http://www.microsoft.com/china/MSDN/ Mobility/embedded/.