版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
緒論1.1Android操作系統(tǒng)簡介1.2軟件系統(tǒng)架構
1.1Android操作系統(tǒng)簡介
隨著手機硬件技術和移動網絡技術的發(fā)展,手機的功能已不僅僅拘泥于單純的打電話、發(fā)短信,還具有了多媒體播放、高速網絡瀏覽、GPS定位、無線連接甚至更多的功能。隨著移動通信技術的飛速發(fā)展和移動互聯時代的到來,手機作為人們必備的移動通信工具,已從簡單的通話工具演變成一個移動的個人信息收集和處理的平臺。借助操作系統(tǒng)和豐富的應用軟件,手機成了一臺智能移動終端。
市場上流行的智能手機操作系統(tǒng)有SymbianOS、AndroidOS、WindowsPhone、iOS、Blackberry等。其中AndroidOS和iOS系統(tǒng)不僅僅在智能手機市場份額中遙遙領先,而且這種優(yōu)勢仍在不斷增加。根據全球領先的移動互聯網第三方數據挖掘與整合營銷機構艾媒咨詢數據顯示,2012年中國智能手機市場AndroidOS份額達到68.6%,占據絕對主流地位。
Android英文原意為“機器人”。2003年AndyRubin在美國創(chuàng)辦了一家名為Android的公司,其主要經營業(yè)務為手機軟件和手機操作系統(tǒng)。2005年Google公司收購了Android公司。此后Google公司與摩托羅拉、中國移動、宏達、高通和T-Mobile等30多家無線通信領軍企業(yè)組成了開放手機聯盟,合作開發(fā)基于Linux的開源手機操作系統(tǒng),并于2007年11月5日正式推出了基于Linux2.6標準內核的開源手機操作系統(tǒng),命名為Android。
1.1.1Android平臺的特性
1.采用Java語言
Java是一種面向對象的語言,可以在很多設備和操作系統(tǒng)上使用,學習起來比較容易,上手比較快。而且學習Java語言可以幫助開發(fā)者更好地了解其他操作系統(tǒng)的應用開發(fā)過程,起到一通皆通的效果。
2.可移植性好
Android應用程序使用Java編程語言開發(fā),因為Java語言的跨平臺性,Android應用程序能夠很容易地移植到其他移動操作系統(tǒng)上。
3.良好的開發(fā)環(huán)境
谷歌公司為Android開發(fā)者營造了良好的開發(fā)環(huán)境。AndroidStudio開發(fā)工具有利于開發(fā)者為Android系統(tǒng)開發(fā)新的應用和游戲,該工具的開發(fā)環(huán)境和模式非常豐富和便捷,可以為開發(fā)者提供相關的測試工具和各種數據分析。
4.開發(fā)門檻低
想要為iOS操作系統(tǒng)開發(fā)一款應用,首先開發(fā)者得有一臺Mac電腦。而Android應用開發(fā)者在Windows、Mac還有Linux操作系統(tǒng)上都能完成Android應用程序的開發(fā)工作。
5.市場份額
2014年年底的數據統(tǒng)計顯示全球有16億的Android用戶,與此同時,iOS用戶只有3億,而Blackberry以及其他移動操作系統(tǒng)的用戶數量加起來只有9100萬。對于開發(fā)者而
言,用戶數量是影響應用程序使用量最直接、最重要的因素。
6.盈利能力
Google是互聯網公司,靠服務掙錢;而Apple是設備商,靠設備去賺錢。Apple要做的是Apple認為最人性化的設備,Apple的軟件是為Apple的設備服務的。因此iPhone平臺中很多游戲和應用都是收費的。但是Android不同,Android平臺的大多數應用和游戲都是免費的,因此在Android平臺中,會有更多的用戶愿意去嘗試新的應用和游戲,其盈利多來自應用和游戲中的廣告。這種模式更容易被用戶接受。
1.1.2Android系統(tǒng)架構
Android是一個開放源代碼的操作系統(tǒng)。Android和其操作系統(tǒng)一樣,采用了分層架構。從架構圖看,Android分為四層,從高層到低層分別是應用程序層(APPLICATIONS)、應用程序框架層(APPLICATIONFRAMEWORK)、系統(tǒng)庫層(LIBRARIES)和Linux核心層(LINUXKERNEL),如圖1-1所示。圖1-1Android系統(tǒng)構架圖
1.應用程序層
Android操作系統(tǒng)發(fā)布時,系統(tǒng)中就包含了一系列核心應用程序包,包括E-mail客戶端、SMS短消息程序、日歷、地圖、瀏覽器、聯系人管理程序等。
2.應用程序框架層
Android的應用程序框架為應用程序層的開發(fā)者提供了簡單方便的API框架,應用程序層的開發(fā)者可以使用該層提供的API開發(fā)出自己的應用程序。
3.系統(tǒng)庫層和Android運行環(huán)境
Android的系統(tǒng)庫層分成兩個部分,一個是系統(tǒng)包含的各種庫,另一個是Android運行環(huán)境。
系統(tǒng)庫包括九個使用庫,分別是圖層管理(SurfaceManager)、媒體庫(MediaFramework)、SQLite、OpenGL|ES、FreeType、WebKit、SGL、SSL和libc。這些庫能被Android系統(tǒng)中不同的組件使用。它們大多是使用C和C++實現的,可以通過Android應用程序框架為開發(fā)者提供服務。
Android運行環(huán)境主要指的是虛擬機技術——Dalvik。Dalvik虛擬機和一般Java虛擬機不同,Dalvik虛擬機執(zhí)行擴展名為dex的Dalvik可執(zhí)行文件,該格式文件針對小內存使用做了優(yōu)化。每一個Android應用程序都在它自己的進程中運行,都擁有一個獨立的Dalvik虛擬機實例。Dalvik被設計成一個設備可以同時高效地運行多個虛擬系統(tǒng)。
4.Linux核心層
Linux操作系統(tǒng)具有一些重要的特點,首先是開源,其次強大的內存管理和進程管理方案、基于權限的安全模式、經過認證的驅動模型等特征都非常符合移動平臺的要求,因此Android系統(tǒng)選擇采用Linux內核。雖然Android采用了Linux內核,但也根據移動平臺特征對Linux內核系統(tǒng)做了一些改動。例如Android并沒有采用glibc作為C庫,而是采用Google自己開發(fā)的一套BionicLibc來代替glibc。此外,Android還對Linux設備驅動進行了增強等。
1.2軟件系統(tǒng)架構隨著網絡的發(fā)展,越來越多的商業(yè)系統(tǒng)被搬上Internet,一種新的、更具生命力的體系結構被廣泛采用,這就是我們熟知的“三層/多層體系結構”,也就是我們常說的B/S機構。三層體系結構中,客戶層是用戶接口和用戶請求的發(fā)出地,典型的應用是網絡瀏覽器;服務器層是負責處理客戶層提交請求的計算機,典型的應用是Web服務器和運行業(yè)務代碼的應用程序服務器;數據層是為整個軟件系統(tǒng)提供數據的數據源基地,典型的應用是關系型數據庫和其他后端數據資源,如Oracle、SAP、R/3等。
1.2.1C/S結構
C/S結構,即Client/Server(客戶機/服務器)結構。此結構把數據庫內容放在遠程的服務器上,而在客戶機上安裝了相應軟件。C/S軟件一般采用兩層結構,由兩部分構成:前端是客戶機,即用戶界面(Client)結合了表示與業(yè)務邏輯,接收用戶的請求,并向數據庫服務提出請求,通常是一個PC;后端是服務器,即數據管理(Server)將數據提交給客戶端,客戶端將數據進行計算并將結果呈現給用戶,還要提供完善的安全保護及對數據的完整性處理等操作,并允許多個客戶同時訪問同一個數據庫。
C/S結構在技術上很成熟,它的主要特點是交互性強、具有安全的存取模式、網絡通信量低、響應速度快、有利于處理大量數據。但是具有該結構的程序的針對性較強,變更不夠靈活,維護和管理的難度較大,通常只局限于小型局域網,不利于擴展。并且,由于具有該結構的每臺客戶機都需要安裝相應的客戶端程序,分布功能弱且兼容性差,不能實現快速部署安裝和配置,因此缺少通用性,具有較大的局限性,且要求具有一定專業(yè)水準的技術人員才能完成。
1.2.2B/S結構
B/S結構,即Browser/Server(瀏覽器/服務器)結構。此結構只安裝維護一個服務器(Server),而客戶端采用瀏覽器(Browse)。它是隨著Internet技術的興起,對C/S結構的一種變化和改進,主要利用了不斷成熟的WWW(萬維網)瀏覽器技術,結合了多種Script語言(VBScript、javascript等)和ActiveX技術,是一種全新的軟件系統(tǒng)構造技術。
B/S三層體系結構采用三層客戶/服務器結構,在數據管理層(Server)和用戶界面層(Client)增加了一層結構,稱為中間件(Middleware),使整個體系結構成為三層。三層結構是伴隨著中間件技術的成熟而興起的,核心概念是利用中間件將應用分為表示層、業(yè)務邏輯層和數據存儲層三個不同的處理層次。這三個層次是從邏輯上劃分的,具體的物理分法可以有多種組合。中間件作為構造三層結構應用系統(tǒng)的基礎平臺,提供了以下主要功能:負責客戶機與服務器、服務器與服務器間的連接和通信;實現應用與數據庫的高效連接;提供一個三層結構應用的開發(fā)、運行、部署和管理的平臺。這種三層結構在層與層之間相互獨立,任何一層的改變不會影響其他層的功能。
B/S結構的主要特點是分布性強、維護方便、開發(fā)簡單、共享性強、總體擁有成本低。但同時,數據安全問題顯現、數據傳輸速度慢、軟件的個性化特點明顯降低,且對服務器要求過高,這些缺點是顯而易見的,難以實現傳統(tǒng)模式下的特殊功能要求。例如通過瀏覽器進行大量數據輸入、報表的應答、專用性打印輸出比較困難,實現復雜的應用構造也有較大的困難。雖然可以用ActiveX、Java等技術開發(fā)較為復雜的應用,但是相對于發(fā)展已非常成熟的C/S一系列應用工具來說,這些技術的開發(fā)復雜,并沒有完全成熟的技術工具供使用。
1.2.3C/S結構與B/S結構的分析比較
1.硬件環(huán)境不同
C/S建立在局域網的基礎上,通過專門服務器提供連接和數據交換服務,所處理的用戶不僅固定,并且處于相同區(qū)域,要求擁有相同的操作系統(tǒng)。B/S建立在廣域網的基礎上,自己管理信息,有比C/S更強的適應范圍,一般只要有操作系統(tǒng)和瀏覽器就行,與操作系統(tǒng)平臺關系較小,面向不可知的用戶群。
2.結構不同
C/S軟件一般采用兩層結構,而B/S采用三層結構。這兩種結構的不同點是兩層結構中客戶端參與運算,而三層結構中客戶端不參與運算,只是簡單地接收用戶的請求,顯示最后的結果。由于三層結構中的客戶端并不需要參與計算,所以對客戶端的計算機電腦配置要求較低。
3.處理模式不同
B/S的處理模式與C/S相比,大大簡化了客戶端,只要裝上操作系統(tǒng)、網絡協(xié)議軟件以及瀏覽器即可,這時的客戶機稱為瘦客戶機,而服務器則集中了所有的應用邏輯。
4.系統(tǒng)維護不同
系統(tǒng)維護是在軟件生存周期中開銷最大的一部分。C/S程序由于其本身的整體性,必須整體考察并處理出現的問題,而B/S結構的客戶端不必安裝及維護。
5.對安全要求不同
由于C/S采用點對點的配對結構模式,并采用適用于局域網、安全性比較好的網絡協(xié)議(例如NT的NetBEUI協(xié)議),安全性可得到較好的保證。C/S一般面向相對固定的用戶群,程序更加注重流程,它可以對權限進行多層次校驗,提供了更安全的存取模式,對信息安全的控制能力很強。
1.2.4軟件系統(tǒng)架構總結
通過對軟件系統(tǒng)架構的了解,我們可以得出這樣的結論,無論采用怎樣的軟件系統(tǒng)架構,一個軟件系統(tǒng)的構成大體可分為三層:圖形界面層、業(yè)務邏輯處理層和數據層。
第一層是圖形界面層,該層的主要作用是提供軟件系統(tǒng)的界面,用來和用戶進行交互。這一層主要表現為客戶機上的客戶端程序,因此這層主要是以客戶端程序的編程語言來實現的。
在B/S結構中,該層主要表現在瀏覽器訪問頁面上,因此該層主要是以html語言、css、JavaScript語言來實現的。在Android軟件開發(fā)中,這一層主要是由Android中的四大組件和UI控件來實現的。
軟件系統(tǒng)的最底層是整個系統(tǒng)的數據層,這一層的主要作用是為整個軟件系統(tǒng)提供需要的數據或者對用戶從圖形界面層傳入的數據進行保存,無論在C/S結構還是B/S結構中,這一層都是由數據庫來實現的,例如我們常見的MySQL、SQLServer、Oracle等數據庫。
軟件系統(tǒng)的中間層是業(yè)務邏輯處理層,該層的主要作用是將用戶界面層中用戶提交的數據進行處理后存放到數據層,或者從數據層取得數據進行處理后提供給圖形界面層使用。這一層主要根據軟件系統(tǒng)開發(fā)時所使用的語言來實現。Android軟件開發(fā)使用的主要工具是Java語言,因此在Android軟件開發(fā)中該層也主要是由Java語言來實現的。
1.Android界面開發(fā)技術
技術包含的學習內容主要有以下幾種:
(1)?Android最常見的五種Layout布局。
(2)常用控件。
(3)界面美化。
2.Android數據存儲技術
Android中的數據存儲方式主要有四種:
(1)?SharedPrefereneces存儲方式。
(2)文件存儲。
(3)?SQLite數據庫存儲。
(4)網絡存儲數據。
3.Android中的四大組件
Android四大基本組件分別是Activity組件、BroadcastReceiver(廣播接收者)、Service
(服務)和ContentProvider(內容提供者)。
(1)?Activity(組件)。
在Android應用程序中,一個Activity通常就是一個單獨的屏幕,它上面可以顯示一些控件,也可以監(jiān)聽并對用戶的事件做出響應。
(2)?BroadcastReceiv
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 生物研究的報告范文
- 《保健蘆薈知識》課件
- 專題09 統(tǒng)計與概率(解析版)
- 部門供職報告范文
- 2025年防城港貨運從業(yè)資格證
- 范文研究報告
- 2025年南寧大車貨運資格證考試題
- 辭職報告范文 大全
- 《信息商品市場》課件
- 2025年邯鄲道路運輸從業(yè)資格證考試內容是什么
- 配送公司食品安全管理制度
- 敦煌的藝術智慧樹知到期末考試答案章節(jié)答案2024年北京大學
- 老人委托書模板
- 《管理會計》說課及試講
- 項目介紹書范文
- 2024年《建筑節(jié)能》理論考試題庫(濃縮500題)
- 部編版八年級上冊歷史問答式復習提綱
- 污水處理廠調試及試運行方案
- 考試 (82)附有答案
- 金葡萄石分級編制說明
- 會計師事務所的年度工作總結
評論
0/150
提交評論