Androjd手機界面管理系統(tǒng)的設(shè)計與實現(xiàn)_第1頁
Androjd手機界面管理系統(tǒng)的設(shè)計與實現(xiàn)_第2頁
Androjd手機界面管理系統(tǒng)的設(shè)計與實現(xiàn)_第3頁
Androjd手機界面管理系統(tǒng)的設(shè)計與實現(xiàn)_第4頁
Androjd手機界面管理系統(tǒng)的設(shè)計與實現(xiàn)_第5頁
已閱讀5頁,還剩18頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、文檔供參考,可復(fù)制、編制,期待您的好評與關(guān)注! Andro j d手機界面管理系統(tǒng)的設(shè)計與實現(xiàn)摘要隨著科技的不斷發(fā)展,計算機與軟件的進步,新一代的移動終端用戶針對應(yīng)用軟件的可操作性以及軟件操作的舒適性等方面提出了更高的要求。除期望所用的軟件擁有強大的功能外,更期望應(yīng)用軟件能盡可能的為他們提供一個輕松、愉快、感覺良好的操作環(huán)境。這表明友好的手機界面設(shè)計已經(jīng)成為手機應(yīng)用開發(fā)的一個重要組成部分。而手機界面在手機應(yīng)用軟件中占用了大量的開發(fā)時間,提高手機界面的開發(fā)效率,無疑是提高整個手機應(yīng)用件開發(fā)效率非常有效的手段。本文研究了Google與開放手機聯(lián)盟合作開發(fā)的Android手機平臺的用戶界面管理系統(tǒng)。

2、通過該系統(tǒng)開發(fā)人員可以使用拖拽的方式生成自己需要的圖形用戶界面,并將生成的界面保存成)(ML格式的文件。系統(tǒng)還支持打開一個已完成的江L界面程序,讀取界面信息并在PC機上顯示界面。針對界面中的每一個組件,以圖形界面的方式將組件的屬性顯示出來,以方便不熟悉Android界面語言的美工或設(shè)計師對界面進行修改完善。如果用戶不滿意在PC機端通過圖片單純模擬Android操作系統(tǒng)窗口組件的顯示效果,可以將最終生成的L界面程序發(fā)送至Android手機或Amdroid模擬器端,通過An(hid應(yīng)用程序?qū)ζ溥M行解析,將界面顯示出來。該系統(tǒng)分為界面在PC機上的開發(fā)和界面在Android模擬器端顯示兩個部分。界面在

3、PC機上的開發(fā)部分是基于MVC設(shè)計模式的總體框架設(shè)計的,該模塊基本上是由界面組件、界面控制、組件屬性和界面顯示四個部分組成。界面組件和界面控制相當于MVC中的Model;組件屬性和界面顯示相當于MVC中的View;系統(tǒng)中負責組件和界面顯示之間各種監(jiān)聽相當于MVC中的Con仃ol。界面在Android模擬器端顯示模塊實現(xiàn)了Android應(yīng)用程序中的L界面程序在Android模擬器上的顯示。該模塊將通過帆界面文件創(chuàng)建界面組件,通過解析L資源文件為適配器提供信息,然后通過Android框架結(jié)構(gòu)預(yù)定好的調(diào)用機制,將適配器中的信息填充到界面組件中。本文通過Android手機界面管理系統(tǒng)的設(shè)計與實現(xiàn)的介紹

4、,希望能為今后開發(fā)類似的功能更強大的界面管理系統(tǒng)提供有益的借鑒。關(guān)鍵字:用戶界面,Android,XML解析,可視化操作11本文的研究背景和意義111研究背景隨著科技的不斷發(fā)展,手機的功能越來越強大,手機系統(tǒng)的相關(guān)軟件應(yīng)運而生,手機設(shè)計的人性化已不僅僅局限于硬件的外觀,手機的軟件系統(tǒng)已成為用戶直接操作和應(yīng)用的主體,它應(yīng)該以美觀實用、操作便捷為用戶所青睞。因此,用戶界面設(shè)計的規(guī)范性顯得尤為重要。由于受傳統(tǒng)觀念的影響,很長一段時間里,手機界面的設(shè)計一直不為軟件開發(fā)人員所重視,認為這純粹是為了取悅用戶而進行的低級活動沒有任何實用價值,而評價一個應(yīng)用軟件質(zhì)量高低的唯一標準,就是看它是否具有強大的功能,

5、能否順利的幫助用戶完成他們的任務(wù)。近年來,隨著嵌入式硬件技術(shù)的迅猛發(fā)展,手持設(shè)備的存儲容量、運行速度和可靠性等技術(shù)性能指標有了顯著的提高,手持設(shè)備硬件的生產(chǎn)成本卻大幅度下跌,手持設(shè)備日益普及。新一代的移動終端用戶,在應(yīng)用軟件的可操作性以及軟件操作的舒適性等方面對應(yīng)用軟件提出了更高的要求,除期望所用的軟件擁有強大的功能外,更期望應(yīng)用軟件能盡可能的為他們提供一個輕松、愉快、感覺良好的操作環(huán)境。這表明,手機界面的質(zhì)量已成為一個重要問題,友好的手機界面設(shè)計已經(jīng)成為手機應(yīng)用開發(fā)的一個重要組成部分。112意義如上所述,手機界面對于手機應(yīng)用軟件有很重要的作用。而手機界面在手機應(yīng)用軟件中占用了大量的開發(fā)時間,

6、提高手機界面的開發(fā)效率,無疑是提高整個手機應(yīng)用軟件開發(fā)效率非常有效的手段。因此需要通過專門的技術(shù),為開發(fā)者提供可視化的手段來開發(fā)用戶界面。隨著人們對用戶體驗要求的不斷提高,要設(shè)計出受用戶喜愛的界面,僅靠開發(fā)人員是不夠的,可能還會請專門的美工或設(shè)計師對界面做修改。而這些專門的美工或UI設(shè)計師可能對手機界面程序并不熟悉。這樣,開發(fā)一個基于可視化的手機界面管理系統(tǒng),使不熟悉界面語言的美工或Ul設(shè)計師也能對界面進行修改完善,可以減少他們與開發(fā)人員的溝通時間,減少開發(fā)人員開發(fā)界面的工作量。因此,開發(fā)一個基于可視化的手機界面管理系統(tǒng)勢在必行。其系統(tǒng)總的設(shè)計思想是以組成界面的元素為對象,用構(gòu)件的形式加以描述

7、,組織并提供一個可視化的生成環(huán)境,使開發(fā)人員能快速的進行界面設(shè)計,使美工或UI設(shè)計師能方便的對界面進行修改完善。_21 Android手機操作系統(tǒng)2'1 Andr0Id簡介1Android介紹鋤droid一詞的本義指“機器人",同時也是G00西e于2007年11月5日宣布的基于Linux平臺的開源手機操作系統(tǒng)的名稱,該平臺由操作系統(tǒng)、中間件、用戶界面和應(yīng)用軟件組成,號稱是首個為移動終端打造的真正開放和完整的移動軟件。Android包括操作系統(tǒng)、用戶界面和應(yīng)用程序移動電話工作所需的全部軟件,而且不存在任何以往阻礙移動產(chǎn)業(yè)創(chuàng)新的專有權(quán)障礙。G00西e與開放手機聯(lián)盟合作開發(fā)了齜id

8、,這個聯(lián)盟由包括中國移動、摩托羅拉、高通、宏達電和T-M0bile在內(nèi)的30多家技術(shù)和無線應(yīng)用的領(lǐng)軍企業(yè)組成。G00西e通過與運營商、設(shè)備制造商、開發(fā)商和其他有關(guān)各方結(jié)成深層次的合作伙伴關(guān)系,希望借助建立標準化、開放式的移動電話軟件平臺,在移動產(chǎn)業(yè)內(nèi)形成一個開放式的生態(tài)系統(tǒng)。Android作為谷歌企業(yè)戰(zhàn)略的重要組成部分,將進一步推進“隨時隨地為每個人提供信息這一企業(yè)目標的實現(xiàn)。谷歌的目標是讓(移動通訊)不依賴于設(shè)備甚至平臺。出于這個目的,Android將補充而不會替代谷歌長期以來奉行的移動發(fā)展戰(zhàn)略一通過與全球各地的手機制造商和移動運營商結(jié)成合作伙伴,開發(fā)既有用又有吸引力的移動務(wù),并推廣這些產(chǎn)品

9、。2Android的未來發(fā)展對于消費者來說,G00酉e手機將是一款通用的、功能強大的、設(shè)備完整的手機產(chǎn)品。與礬one相似,An如id采用W曲曬t瀏覽器引擎,具備觸摸屏、高級圖形顯示和上網(wǎng)功能,用戶能夠在手機上查看電子郵件、搜索網(wǎng)址和觀看視頻節(jié)目等,比iPhone等其他手機更強調(diào)搜索功能,界面更強大,可以說是一種融入全部w曲應(yīng)用的單一平臺。但其最震撼人心之處在于Am(hDid手機系統(tǒng)的開放性和服務(wù)免費。Android是一個對第三方軟件完全開放的平臺,開發(fā)者在為其開發(fā)程序時擁有更大的自由度,突破了iPhone等只能添加為數(shù)不多的固定軟件的枷鎖。同時與Windows、M0bile、S)IInbi紐等

10、廠商不同,Android操作系統(tǒng)免費向開發(fā)人員提供,這樣可節(jié)省近三成成本。Android項目目前正在從手機運營商、手機廠商、開發(fā)者和消費者那里獲得大力支持。212 Android用戶界面因為本文講解的系統(tǒng)主要是對Android手機L界面程序文件的管理,所以下面簡單介紹一下Android的用戶界面【3】。1關(guān)鍵類在一個Android應(yīng)用中,用戶界面是由View和ew咖對象構(gòu)建的。View與ewGr01印都有很多種類。View對象是Android平臺中用戶界面體現(xiàn)的基礎(chǔ)單位。View類是它稱為“widgetS(工具)的子類的基礎(chǔ),它們提供了諸如文本輸入框和按鈕之類的UI對象的完整實現(xiàn)。vicwGr

11、oup類同樣為其被稱為“Layouts(布局)"的子類奠定了基礎(chǔ),它們提供了像流式布局、表格布局以及相對布局之類的布局架構(gòu)。ew對象是一個數(shù)據(jù)體,它的屬性存儲了用于屏幕上一塊矩形區(qū)域的布局參數(shù)及內(nèi)容,并負責這個矩形區(qū)域之中的所有測量、布局、焦點轉(zhuǎn)換、卷動以及按鍵觸摸手勢的處理。作為一個用戶界面對象,ew同時也擔任著用戶交互關(guān)鍵點以及交互事件接受者的角色。2視圖層次在Android平臺上,你可以用圖21所示的ew和ewGroup層次圖來定義一個A血vity的UI。這個層次樹可隨你所愿的簡單或者復(fù)雜化。為了把一個視圖層次樹展現(xiàn)到屏幕上,你的Acti啊鑼必須調(diào)用setContentVieW

12、O方法,并傳給它一個根節(jié)點對象的引用。Android系統(tǒng)將接受此引用,并用來進行界面的廢止、測量并繪制這棵樹。層次的根結(jié)點會要求它的子節(jié)點進行自我繪制,而且,每個視圖組節(jié)點也負責調(diào)用它的子視圖進行自我繪制。子節(jié)點將向父節(jié)點申請繪制的位置以及大小,而其次樹頂層開始)解析你布局中的元素,實例化View并將它們添加到它們的父節(jié)點中。因個繪制的元素將位于所有重疊元素之上顯現(xiàn)。3布局定義并展現(xiàn)你的視圖層次的最常用的方法是使用XML布局文件。如同H俐L一樣,L為布局提供了一種可讀的結(jié)構(gòu)。XML中的每個元素是ew 或ew螄對象(或者是它們的子類)。ew對象是樹的葉節(jié)點,而ViewGroup對象是樹的分支。X

13、ML元素的名稱與它體現(xiàn)的Java類相對應(yīng)。所以一個q溆tew>元素將在你的UI中生成一個TeXtvi蹦,而<LinearLayout>則創(chuàng)建一個“nearLayout視圖組。當你載入一個布局資源時,Android系統(tǒng)會根據(jù)布局中的元素初始化這些運行時對象。請注意:LinearLayout元素包含了Texfview和Button對象。你可以在其中另外安置一個LinearLayout(或其它類型的視圖組),以延展這個視圖層次,構(gòu)建更復(fù)雜的布局??梢杂肑ava代碼來繪制view和ewGroup對象,并用addewmew)方法動態(tài)的插入新的View和Viewmup對象。有相當多的方法

14、來對視圖進行布局。使用大量不同種類的視圖組,可以有近乎無窮的方式來構(gòu)建子視圖和視圖組。Android提供了一些預(yù)定義的視圖組,其中包括LiIlearLayoutRelatiVeLayoutAbsoluteLayout、TableLayout、G打dLayout等。每個都為定義子視圖和布局結(jié)構(gòu)提供了一套獨特的布局參數(shù)。4組件組件是為用戶交互界面提供服務(wù)的視圖對象。缸droid提供了一套完整的組件實現(xiàn),包括按鈕、復(fù)選框、文本輸入框等。Android還提供了一些更高級的組件,比如日期選擇、時鐘以及縮放控制。如果想創(chuàng)建一些定制動作元素,可以通過定義自己的視圖對象或者擴展或合并現(xiàn)有的組件實現(xiàn)。5用戶界面

15、事件使用戶界面中的視圖和工具與用戶交互,進而實現(xiàn)動作,如欲獲得用戶界面事件通知,有如下兩種實現(xiàn)方式。第一種實現(xiàn)方式:定義一個事件偵聽器并將其注冊至視圖。通常情況下,這是偵聽事件的主要方式。view類包含了許多命名類似O一木奉“steller的接口,每個接口都有一個。礦奉宰事O的回調(diào)方法。比如:ViewOnClicl(LiSteller用于處理視圖中ewOnTouchListeIler用于處理視圖中的觸屏事件、ewOr吐沁vListeIler用于處理視圖中的設(shè)備按鍵事件等等。如果希望視圖在被“點擊”比如選擇了一個按鈕的時候獲得通知,需要實現(xiàn)OnClick“steIler接口,定義其0nClick

16、0回調(diào)方法并在其中進行相應(yīng)處理,并將它secOnclickListenero方法注冊到視圖上。第二種實現(xiàn)方式:為視圖覆寫一個現(xiàn)有的回調(diào)方法。這種方法主要用于你自己實現(xiàn)了一個ew類,并想偵聽其上發(fā)生的特定事件。比如說當屏幕被觸摸onToucllEv鋤tO,當軌跡球發(fā)生了移動onTrackbaJlEv印tO或者是設(shè)備上的按鍵被按下onKeyD伽mO。這種方式為定制的視圖中發(fā)生的每個事件定義默認的行為,并決定是否需要將事件傳遞給其它的子視圖。6菜單應(yīng)用程序菜單是應(yīng)用程序用戶界面中另外一個重要的組成部分。菜單為展現(xiàn)應(yīng)用程序功能和設(shè)置提供了一個可靠的界面。按下設(shè)備上的M咖鍵會調(diào)出最普通的應(yīng)用程序菜單,也

17、可以加入當用戶長按一個項目時調(diào)出的上下文菜單。菜單也是用視圖層次進行構(gòu)架的,但不必自己定義這個架構(gòu)。只要為Activ時定義onCreateolptionsMe姍O和0nCreatcContex廿訂enuO回調(diào)方法,并聲明想要包含在菜單中的項目即可。Android將為菜單自動創(chuàng)建視圖層次,并在其中繪入菜單項。菜單會自行處理它們的事件,所以不必為菜單中的項目注冊事件偵聽器。當菜單中的一項被選定時,框架將自動調(diào)用onoptionsIt鋤SelectedO或0nConteXtemSelectedO方法。如同應(yīng)用程序布局一樣,也可以在一個)剛L文件中定義菜單中的項目。7適配器(Adaptef)如果要用一

18、些無法硬編碼的信息來填充視圖組,比如將源于外部的數(shù)據(jù)綁定到視圖中。為達到這個目的,可以使用Adapterew作為視圖組,并用通過Adapter傳遞的數(shù)據(jù)初始化每個子視圖并填入其中。適配器(Adapter)類在Andmid框架中扮演轉(zhuǎn)接器的角色,其主要用途是改變界面。界面相當于純粹的抽象類別(PurcAbs仃act Cl弱s),適合在框架中定義。Adapter組件讓框架里的抽象類別能誕生Adapter應(yīng)用類別的組件,來實現(xiàn)定義框架的新界面。Android中提供了大量的適配器(Adapter),常見的有BascAdapter、SimpleCurSorAdapter、Cu瑙DrAdapter等等,其

19、中包含CurSor可以自動和數(shù)據(jù)庫關(guān)聯(lián)。一般在List'vie中我們需要定義一些顯示的內(nèi)容,需要用到繼承Adapter一實現(xiàn)窗口的子類化。一般我們需要重寫Adapter類的四個方法即可,分別是public iIlt getCouIlt0、public objoCt getIt鋤(int posi廿on)、public 10ng getIteInId(int position)和publicewgetew(i11t position,View conv洲iew,ewGroup p搠lt),調(diào)用時仍然是在List、ew或“s認ctiv時中直接se認dapt呱CuSto蛐蜘apt砷即可,比較

20、典型的方法參考Andmid的自帶控件Gall叫的實現(xiàn),詳細的在API D鋤。中查找即可。213 Android模擬器Android SDK自帶一個移動設(shè)備模擬器,它是一個可以運行在電腦上的虛擬設(shè)備。Android模擬器可以讓你不需使用物理設(shè)備即可預(yù)覽、開發(fā)和測試Android應(yīng)用程序。Android模擬器能夠模擬除了接聽和撥打電話外的所有移動設(shè)備上的典型功能和行為。如圖2-2所示,觸id模擬器提供了大量的導(dǎo)航和控制鍵,你可以通過鼠標或鍵盤點擊這些按鍵來為你的應(yīng)用程序產(chǎn)生事件。同時它還有一個屏幕用于顯示捌d自帶應(yīng)用程序和你自己的應(yīng)用程序。為了便于模擬和測試應(yīng)用程序,向鰣d模擬器允許應(yīng)用程序通過A

21、ndIod平臺服務(wù)調(diào)用其他程序、訪問網(wǎng)絡(luò)、播放音頻和視頻、保存和接收數(shù)據(jù)、通知用戶、渲染圖像過渡和場景。Alldfold模擬器同樣具有強丈的調(diào)試能力,例如能夠記錄內(nèi)核輸出的控制臺、模擬程序中斷(比如接收短信或打入電話)、模擬數(shù)據(jù)通道中的延時效果和遺失。21 4Andr。甜資源Andro討資源系統(tǒng)能跟蹤所有非代碼相關(guān)的應(yīng)用程序。你可以使用資源類來訪問應(yīng)用程序的資源,資源的實例通常和應(yīng)用程序聯(lián)系在一起,你可毗通過cont白n gnR鶴011rcO來訪問。血d“d支持字符串,圖片以及很多其他類型的資源。通常情況下可以通過三種類型的文件來創(chuàng)建贅源:“L文件(賒位圖以及原數(shù)據(jù)文件),位圖文件(對于圖片)

22、毗及原始數(shù)據(jù)(其它類型:例如聲音文件等等)。事實上,有兩種不同類型的xML文件,一種是編譯到包里的,另外一種是通過齟pl來產(chǎn)生的資源文件, 這里有一張包含所有資源類型、文件格式、文件描述以及所有xML文件的詳細信息的列表。在項目里,你可以在子目錄r蝦創(chuàng)建和存儲資源文件。AdIoid有一個資源編譯工具(aapt),它可以編譯在這個目錄下所有的子目錄中的資源,Android中各種資源的列表。你可以從資源引用這里看到各種類型的對象,包含其語法以及格式。215 And巾id系統(tǒng)架構(gòu)Android的系統(tǒng)架構(gòu)和其操作系統(tǒng)一樣,采用了分層的架構(gòu)。如圖23所示,Android分為五個部分,分別是:應(yīng)用程序(A

23、pplication)、應(yīng)用程序框架(Application F姍cwork)、程序庫(Lib礎(chǔ)es)、Android運行環(huán)境(AndroidRIlll血ne)、l衄核心(“nux K鋤e1)m。開發(fā)人員也可以完全訪問核心應(yīng)用程序所使用的API框架。該應(yīng)用程序的架構(gòu)設(shè)計簡化了組件的重用;任何一個應(yīng)用程序都可以發(fā)布它的功能塊并且任何其它的應(yīng)用程序都可以使用其所發(fā)布的功能塊(不過得遵循框架的安全性限制)。同樣,該應(yīng)用程序重用機制也使用戶可以方便的替換程序組件。1應(yīng)用程序(Application)A皿h0id平臺將預(yù)置一些核心應(yīng)用程序,包括鋤ail客戶端、短消息程序、日歷、地圖、瀏覽器、通訊錄等等。

24、所有的這些程序都是用J撇開發(fā)的。2應(yīng)用程序框架(AppIica“on Fr蜘ework)應(yīng)用程序標準接口,實際上就是開發(fā)者在開發(fā)程序時需要調(diào)用的一些接口a開發(fā)者開發(fā)的程序可以與核心應(yīng)用程序一樣,平等地使用框架的API。應(yīng)用程序框架是為了要建好組件的重新利用而設(shè)計的,它被設(shè)計成易于重甩的組件,使任何應(yīng)用程序都可以發(fā)布它的庫或包,并且其它的應(yīng)用也可以使用其發(fā)布的庫或包,但是要受限于架構(gòu)的安全限制。使用者也可以用同樣的機制來新增、替換Androld的組件。目前所有的應(yīng)用程序都是山服務(wù)(s州ices)和系統(tǒng)(sys鋤10組成,包)豐富而又可擴展的視圖(views sysi1)可以用來構(gòu)建應(yīng)用程序,它包

25、括在開發(fā)系統(tǒng)界面時常用的列表(1lm0、網(wǎng)格(印ds)、文本框(t既lbox曲、按鈕fbunonsl以及嵌入式的web瀏覽器等。_2) 內(nèi)容提供器(Content Pr0啊dcrs)使得應(yīng)用程序可以訪問另一個應(yīng)用程序的數(shù)據(jù)(如聯(lián)系人數(shù)據(jù)庫), 或者共享它們自己的數(shù)據(jù)。3)資源管理器(Resource M鋤ag神提供各種非代碼資源的訪問,如本地字符串、圖形或布局文件(1ayout矗les)。4)通知管理器(Noti6cation Mallag哪使得應(yīng)用程序可以在狀態(tài)欄中顯示自定義的提示信息。5)活動管理器(Activity Mallag哪用來管理應(yīng)用程序生命周期并提供常用的導(dǎo)航回退功能。6)窗口

26、管理器(Window M鋤ager)用來管理所有啟動的窗口程式。7)位置管理器(L0cation Mallager)用來管理地圖服務(wù)的相關(guān)功能。8)電話管理器(Telephony Manager)用來管理有關(guān)用戶撥打或接聽電話的相關(guān)功能。9)包管理器(Package Manager)管理所有安裝在Android系統(tǒng)內(nèi)的程序。3函式庫(I,ibr撕eS)Android包含一些CC抖庫,這些庫能被Amdroid系統(tǒng)中不同的組件使;:用。它們通過Android應(yīng)用程序框架為開發(fā)者提供服務(wù)。1)系統(tǒng)C庫:一個從BSD繼承來的標準C系統(tǒng)函數(shù)庫(1ibc),它是專門為基于embedded linux的設(shè)備

27、定制的。2)媒體庫:基于Packetdco 0pellCORE。該庫支持多種常用的音頻、視頻格式回放和錄制,同時支持靜態(tài)圖像文件。編碼格式包括MPEG4、H264、MP3、AAC、AMR、JPG、PNG。3)Su概e Manager:對顯示子系統(tǒng)的管理,并且為多個應(yīng)用程序提供了2D和3D圖層的無縫融合。鍆LibW曲Core:一個最新的web瀏覽器引擎用,支持An(1roid瀏覽器和一個可嵌入的web視圖。5)SGL:底層的2D圖形引擎。4A1droid運行環(huán)境(Android R嘶tiIlle)雖然Android是用J繃來開發(fā)、編寫應(yīng)用程序的,但卻不使用JavaRuntime來執(zhí)行Java應(yīng)用

28、程序,而是自行研發(fā)Android RuIltime來執(zhí)行應(yīng)用程序。在Android SDK的Android運行環(huán)境分成兩個重要的部分來執(zhí)行系統(tǒng),這兩個重要部分分劇是核心函數(shù)庫(Corc Lib灑es)和Dalvm虛擬機(D小ikItIIal Machine)。1)核心函數(shù)庫(Core Libr撕es)核心函數(shù)庫里面已經(jīng)包含了絕大多數(shù)Java所需要調(diào)用的程序。加ldI-0id不是用一個Dalvik虛擬機來同時執(zhí)行多個Android應(yīng)用程序,而每一個Android應(yīng)用程序都在它自己的進程中運行,都擁有一個獨立的DaLlvik虛擬機實例。2)Dalvik虛擬機(Dalviknual Machinc)

29、DalVik虛擬機被設(shè)計成一個設(shè)備可以同時高效地運行多個虛擬系統(tǒng)。D撕k虛擬機執(zhí)行(dex)的D小il(可執(zhí)行文件,該格式文件針對小內(nèi)存使用做了優(yōu)化。同時虛擬機是基于寄存器的,所有的類都經(jīng)由JA、,A編譯器編譯,然后通過SDK中的“dx”工具轉(zhuǎn)化成dex格式由虛擬機執(zhí)行。Dalvilc虛擬機依賴于liIlu)【內(nèi)核的一些功能,比如線程機制和底層內(nèi)存管理機制。5 Linu)【核心(“nuXl(鋤e1)Andmid的核心系統(tǒng)服務(wù)依賴于Linux 26內(nèi)核,而所提供的核心系統(tǒng)服務(wù)如下所述:1)安全性(Se訓(xùn)劬2)內(nèi)存管理(M鋤。巧Managelnenl3l3)進程管理(Pr0CeSS M柚agcII

30、lent)4)網(wǎng)絡(luò)協(xié)議棧(N釀帕rk Stack)5)驅(qū)動模型(】蹦ver Model)。LiIlu)【內(nèi)核也同時作為硬件與軟件架構(gòu)之間的抽象層(Abs缸-action Layer)。_2。2 XML技術(shù)221 XML簡介可擴展標記語言(eXtenSible Markup L鋤guage,L)是全面描述的SGML的子集,其目標是在網(wǎng)絡(luò)上,以類似于HTML的方式實現(xiàn)SGML的發(fā)送、接收和處理。簡單的說,兒是一種受限制的SGML形式,從結(jié)構(gòu)上看,XML文檔符合SGML文檔規(guī)范,而且江L與HTML兼容。刪L是一種元標記語言,使用者可按需創(chuàng)建新的標記。捌L的可擴展性就在于此。帶標記的元素是訂L文檔的構(gòu)

31、造塊,如表23所示。這種元素可以有若干個屬性,并可以包含零個或多個子元素,這些子元素可以是文本數(shù)據(jù),也可以是帶標記的元素。XML語言作為一種標準語言得到廣泛應(yīng)用和各大廠家的支持,必然有它自身優(yōu)點存在??偟膩碚f,刪L的優(yōu)點主要體現(xiàn)在如下幾個方面:> 可擴展性(ExteIlsibili啪lL繼承了SGML的許多關(guān)鍵特性,首先是良好的可擴展性。xML允許使用者創(chuàng)建和使用自己的標記而不是HTML的有限詞匯表,用戶可以根據(jù)應(yīng)用需要定義自己的標記語言,也可以建立起一套特定行業(yè)標記語言,做為信息共享和數(shù)據(jù)交換的基礎(chǔ)。> 內(nèi)容與形式分離(Content Separated From Fom)XML

32、的形式和內(nèi)容是分離的,這樣可以讓數(shù)據(jù)的收集者專注于數(shù)據(jù)處理,相同的數(shù)據(jù)無需改動即可在不同的XSLML Style hguage)頁面下呈現(xiàn)不同的風格。同時,內(nèi)容和形式的分離使刪L文檔在不同應(yīng)用系統(tǒng)之間的轉(zhuǎn)換變得非常簡單,用戶要做的只是將兩個不同煳L文檔的DTD(DocumeIlt聊eDefi血tion)或江LSChema進行映射。>靈活性(Flexibili劬H例L之所以很難進一步發(fā)展,是因為它是格式、超文本和圖形用戶界面語義的混合,要同時發(fā)展這些混合在一起的功能是非常困難的。L提供了一種結(jié)構(gòu)化的數(shù)據(jù)表示方式,使得用戶界面分離于結(jié)構(gòu)化數(shù)據(jù),w曲用戶所追求的許多先進功能在XML環(huán)境下易于實

33、現(xiàn)。> 自描述性(Selfmes謝ption)由于XML文檔是自描述的,江L文檔中的數(shù)據(jù)可以被任何能夠?qū)ML數(shù)據(jù)進行解析的應(yīng)用所提取、分析和處理,并以所需格式顯示。刪L表示數(shù)據(jù)的方式做到了獨立于應(yīng)用系統(tǒng),并且可以實現(xiàn)數(shù)據(jù)的重用。)(ML還能用來表示那些以前不被看作文檔,但是對傳統(tǒng)的數(shù)據(jù)庫來說又過于復(fù)雜而難以處理的數(shù)據(jù),例如樹狀結(jié)構(gòu)在刪L中得到了很好的體現(xiàn)。 平臺無關(guān)性(Flathd印endellcy)L是純文本的,不存在平臺問題,能通過各種網(wǎng)絡(luò)協(xié)議在各種網(wǎng)絡(luò)平臺13和應(yīng)用平臺上傳輸和使用。XML處理工具可以輕松地讀取并利用這些數(shù)據(jù),這使得刪L成為一種非常理想的網(wǎng)際語言。>簡明性(

34、Concis衄髂S)XML具有簡明性,它只有SGML約20的復(fù)雜性,但卻具有SGML功能的約80的功能。XML比完整的SGML簡單,易學(xué)易用。> 健壯性(Ibbus缸1e豁)XML不同于普通的文件格式,由于采用封閉式標簽的辦法將數(shù)據(jù)組織成樹型結(jié)構(gòu),以及DTD和vIL SChema的存在,L文檔具有很強的健壯性。即使文件內(nèi)容部分丟失,剩下的部分仍然可以讀取。此外,捌L要求標記配對、嵌套、嚴格遵守DTD的規(guī)定,非常注重準確性。嚴格的語法要求使XML具有良好的可讀性和可維護性。正是由于xML的技術(shù)先進性,業(yè)界很快接受了這項由W3C推薦、允許在未知平臺下進行數(shù)據(jù)通信和信息存儲的技術(shù)。例如,微軟在

35、NET中廣泛的應(yīng)用了L技術(shù)。作為一種通用數(shù)據(jù)格式,x】L被用于從配置文件到元數(shù)據(jù)、從IUC到對象串行化的多種應(yīng)用場合。222 XML語法規(guī)則L數(shù)據(jù)具有高度的層次化結(jié)構(gòu),嚴格的語法規(guī)則,其在XMLl0中就有了明確的規(guī)范。如果文檔內(nèi)容和結(jié)構(gòu)不符合這種規(guī)范,它就不可能被任何L處理器所處理。下面是一些基本的語法規(guī)則【2】: o1)每個文檔有且僅有一個根元素(Root),其他所有元素都是它的子元素。2)每個元素對的上下文(context)關(guān)系要正確。即元素之間必須正確的嵌套。因為XML是半結(jié)構(gòu)化數(shù)據(jù),可以用xML描述樹來表示其結(jié)構(gòu),所以它的邏輯結(jié)構(gòu)和語法都有嚴格定義(如使用DTD或SCh鋤a)。3)每個

36、元素(El鋤eIlt)都必須有開始和結(jié)束標記(<和>)。元素的內(nèi)容可以是其它的元素、字符數(shù)據(jù)、字符引用、實體引用、PI、注釋和CDATA(CharacterD觸rA,字符數(shù)據(jù))節(jié),元素也是能夠擁有屬性的唯一基本類型。4)元素的屬性值必須由單引號(¨)或雙引號(“)包含。222XML解析技術(shù)應(yīng)用程序使用)Q詛L文檔的時候,需要對其進行解析,將其從文件的格式轉(zhuǎn)變成為程序中可直接使用的數(shù)據(jù)結(jié)構(gòu)。換句話說,解析程序讀入XML文檔,識別出各個語法單元,然后將語法單元封裝成一定的數(shù)據(jù)結(jié)構(gòu)報告給應(yīng)用程序,目前主要的XML處理技術(shù)主要有兩種:DoM和SAX。1DOM解析DoM(Docum鋤t Object Model)是用與平臺和語言無關(guān)的方式表示XML文檔的官方W3C標準,其不僅提供了對存儲在內(nèi)存中的訌L文檔的一個完全的

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論