![Android平臺應(yīng)用軟件開發(fā)緒論_第1頁](http://file4.renrendoc.com/view11/M00/0B/1D/wKhkGWW4IvCAQnnZAACloF8BjmY335.jpg)
![Android平臺應(yīng)用軟件開發(fā)緒論_第2頁](http://file4.renrendoc.com/view11/M00/0B/1D/wKhkGWW4IvCAQnnZAACloF8BjmY3352.jpg)
![Android平臺應(yīng)用軟件開發(fā)緒論_第3頁](http://file4.renrendoc.com/view11/M00/0B/1D/wKhkGWW4IvCAQnnZAACloF8BjmY3353.jpg)
![Android平臺應(yīng)用軟件開發(fā)緒論_第4頁](http://file4.renrendoc.com/view11/M00/0B/1D/wKhkGWW4IvCAQnnZAACloF8BjmY3354.jpg)
![Android平臺應(yīng)用軟件開發(fā)緒論_第5頁](http://file4.renrendoc.com/view11/M00/0B/1D/wKhkGWW4IvCAQnnZAACloF8BjmY3355.jpg)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
緒論1.1Android操作系統(tǒng)簡介1.2軟件系統(tǒng)架構(gòu)
1.1Android操作系統(tǒng)簡介
隨著手機(jī)硬件技術(shù)和移動網(wǎng)絡(luò)技術(shù)的發(fā)展,手機(jī)的功能已不僅僅拘泥于單純的打電話、發(fā)短信,還具有了多媒體播放、高速網(wǎng)絡(luò)瀏覽、GPS定位、無線連接甚至更多的功能。隨著移動通信技術(shù)的飛速發(fā)展和移動互聯(lián)時(shí)代的到來,手機(jī)作為人們必備的移動通信工具,已從簡單的通話工具演變成一個(gè)移動的個(gè)人信息收集和處理的平臺。借助操作系統(tǒng)和豐富的應(yīng)用軟件,手機(jī)成了一臺智能移動終端。
市場上流行的智能手機(jī)操作系統(tǒng)有SymbianOS、AndroidOS、WindowsPhone、iOS、Blackberry等。其中AndroidOS和iOS系統(tǒng)不僅僅在智能手機(jī)市場份額中遙遙領(lǐng)先,而且這種優(yōu)勢仍在不斷增加。根據(jù)全球領(lǐng)先的移動互聯(lián)網(wǎng)第三方數(shù)據(jù)挖掘與整合營銷機(jī)構(gòu)艾媒咨詢數(shù)據(jù)顯示,2012年中國智能手機(jī)市場AndroidOS份額達(dá)到68.6%,占據(jù)絕對主流地位。
Android英文原意為“機(jī)器人”。2003年AndyRubin在美國創(chuàng)辦了一家名為Android的公司,其主要經(jīng)營業(yè)務(wù)為手機(jī)軟件和手機(jī)操作系統(tǒng)。2005年Google公司收購了Android公司。此后Google公司與摩托羅拉、中國移動、宏達(dá)、高通和T-Mobile等30多家無線通信領(lǐng)軍企業(yè)組成了開放手機(jī)聯(lián)盟,合作開發(fā)基于Linux的開源手機(jī)操作系統(tǒng),并于2007年11月5日正式推出了基于Linux2.6標(biāo)準(zhǔn)內(nèi)核的開源手機(jī)操作系統(tǒng),命名為Android。
1.1.1Android平臺的特性
1.采用Java語言
Java是一種面向?qū)ο蟮恼Z言,可以在很多設(shè)備和操作系統(tǒng)上使用,學(xué)習(xí)起來比較容易,上手比較快。而且學(xué)習(xí)Java語言可以幫助開發(fā)者更好地了解其他操作系統(tǒng)的應(yīng)用開發(fā)過程,起到一通皆通的效果。
2.可移植性好
Android應(yīng)用程序使用Java編程語言開發(fā),因?yàn)镴ava語言的跨平臺性,Android應(yīng)用程序能夠很容易地移植到其他移動操作系統(tǒng)上。
3.良好的開發(fā)環(huán)境
谷歌公司為Android開發(fā)者營造了良好的開發(fā)環(huán)境。AndroidStudio開發(fā)工具有利于開發(fā)者為Android系統(tǒng)開發(fā)新的應(yīng)用和游戲,該工具的開發(fā)環(huán)境和模式非常豐富和便捷,可以為開發(fā)者提供相關(guān)的測試工具和各種數(shù)據(jù)分析。
4.開發(fā)門檻低
想要為iOS操作系統(tǒng)開發(fā)一款應(yīng)用,首先開發(fā)者得有一臺Mac電腦。而Android應(yīng)用開發(fā)者在Windows、Mac還有Linux操作系統(tǒng)上都能完成Android應(yīng)用程序的開發(fā)工作。
5.市場份額
2014年年底的數(shù)據(jù)統(tǒng)計(jì)顯示全球有16億的Android用戶,與此同時(shí),iOS用戶只有3億,而Blackberry以及其他移動操作系統(tǒng)的用戶數(shù)量加起來只有9100萬。對于開發(fā)者而
言,用戶數(shù)量是影響應(yīng)用程序使用量最直接、最重要的因素。
6.盈利能力
Google是互聯(lián)網(wǎng)公司,靠服務(wù)掙錢;而Apple是設(shè)備商,靠設(shè)備去賺錢。Apple要做的是Apple認(rèn)為最人性化的設(shè)備,Apple的軟件是為Apple的設(shè)備服務(wù)的。因此iPhone平臺中很多游戲和應(yīng)用都是收費(fèi)的。但是Android不同,Android平臺的大多數(shù)應(yīng)用和游戲都是免費(fèi)的,因此在Android平臺中,會有更多的用戶愿意去嘗試新的應(yīng)用和游戲,其盈利多來自應(yīng)用和游戲中的廣告。這種模式更容易被用戶接受。
1.1.2Android系統(tǒng)架構(gòu)
Android是一個(gè)開放源代碼的操作系統(tǒng)。Android和其操作系統(tǒng)一樣,采用了分層架構(gòu)。從架構(gòu)圖看,Android分為四層,從高層到低層分別是應(yīng)用程序?qū)?APPLICATIONS)、應(yīng)用程序框架層(APPLICATIONFRAMEWORK)、系統(tǒng)庫層(LIBRARIES)和Linux核心層(LINUXKERNEL),如圖1-1所示。圖1-1Android系統(tǒng)構(gòu)架圖
1.應(yīng)用程序?qū)?/p>
Android操作系統(tǒng)發(fā)布時(shí),系統(tǒng)中就包含了一系列核心應(yīng)用程序包,包括E-mail客戶端、SMS短消息程序、日歷、地圖、瀏覽器、聯(lián)系人管理程序等。
2.應(yīng)用程序框架層
Android的應(yīng)用程序框架為應(yīng)用程序?qū)拥拈_發(fā)者提供了簡單方便的API框架,應(yīng)用程序?qū)拥拈_發(fā)者可以使用該層提供的API開發(fā)出自己的應(yīng)用程序。
3.系統(tǒng)庫層和Android運(yùn)行環(huán)境
Android的系統(tǒng)庫層分成兩個(gè)部分,一個(gè)是系統(tǒng)包含的各種庫,另一個(gè)是Android運(yùn)行環(huán)境。
系統(tǒng)庫包括九個(gè)使用庫,分別是圖層管理(SurfaceManager)、媒體庫(MediaFramework)、SQLite、OpenGL|ES、FreeType、WebKit、SGL、SSL和libc。這些庫能被Android系統(tǒng)中不同的組件使用。它們大多是使用C和C++實(shí)現(xiàn)的,可以通過Android應(yīng)用程序框架為開發(fā)者提供服務(wù)。
Android運(yùn)行環(huán)境主要指的是虛擬機(jī)技術(shù)——Dalvik。Dalvik虛擬機(jī)和一般Java虛擬機(jī)不同,Dalvik虛擬機(jī)執(zhí)行擴(kuò)展名為dex的Dalvik可執(zhí)行文件,該格式文件針對小內(nèi)存使用做了優(yōu)化。每一個(gè)Android應(yīng)用程序都在它自己的進(jìn)程中運(yùn)行,都擁有一個(gè)獨(dú)立的Dalvik虛擬機(jī)實(shí)例。Dalvik被設(shè)計(jì)成一個(gè)設(shè)備可以同時(shí)高效地運(yùn)行多個(gè)虛擬系統(tǒng)。
4.Linux核心層
Linux操作系統(tǒng)具有一些重要的特點(diǎn),首先是開源,其次強(qiáng)大的內(nèi)存管理和進(jìn)程管理方案、基于權(quán)限的安全模式、經(jīng)過認(rèn)證的驅(qū)動模型等特征都非常符合移動平臺的要求,因此Android系統(tǒng)選擇采用Linux內(nèi)核。雖然Android采用了Linux內(nèi)核,但也根據(jù)移動平臺特征對Linux內(nèi)核系統(tǒng)做了一些改動。例如Android并沒有采用glibc作為C庫,而是采用Google自己開發(fā)的一套BionicLibc來代替glibc。此外,Android還對Linux設(shè)備驅(qū)動進(jìn)行了增強(qiáng)等。
1.2軟件系統(tǒng)架構(gòu)隨著網(wǎng)絡(luò)的發(fā)展,越來越多的商業(yè)系統(tǒng)被搬上Internet,一種新的、更具生命力的體系結(jié)構(gòu)被廣泛采用,這就是我們熟知的“三層/多層體系結(jié)構(gòu)”,也就是我們常說的B/S機(jī)構(gòu)。三層體系結(jié)構(gòu)中,客戶層是用戶接口和用戶請求的發(fā)出地,典型的應(yīng)用是網(wǎng)絡(luò)瀏覽器;服務(wù)器層是負(fù)責(zé)處理客戶層提交請求的計(jì)算機(jī),典型的應(yīng)用是Web服務(wù)器和運(yùn)行業(yè)務(wù)代碼的應(yīng)用程序服務(wù)器;數(shù)據(jù)層是為整個(gè)軟件系統(tǒng)提供數(shù)據(jù)的數(shù)據(jù)源基地,典型的應(yīng)用是關(guān)系型數(shù)據(jù)庫和其他后端數(shù)據(jù)資源,如Oracle、SAP、R/3等。
1.2.1C/S結(jié)構(gòu)
C/S結(jié)構(gòu),即Client/Server(客戶機(jī)/服務(wù)器)結(jié)構(gòu)。此結(jié)構(gòu)把數(shù)據(jù)庫內(nèi)容放在遠(yuǎn)程的服務(wù)器上,而在客戶機(jī)上安裝了相應(yīng)軟件。C/S軟件一般采用兩層結(jié)構(gòu),由兩部分構(gòu)成:前端是客戶機(jī),即用戶界面(Client)結(jié)合了表示與業(yè)務(wù)邏輯,接收用戶的請求,并向數(shù)據(jù)庫服務(wù)提出請求,通常是一個(gè)PC;后端是服務(wù)器,即數(shù)據(jù)管理(Server)將數(shù)據(jù)提交給客戶端,客戶端將數(shù)據(jù)進(jìn)行計(jì)算并將結(jié)果呈現(xiàn)給用戶,還要提供完善的安全保護(hù)及對數(shù)據(jù)的完整性處理等操作,并允許多個(gè)客戶同時(shí)訪問同一個(gè)數(shù)據(jù)庫。
C/S結(jié)構(gòu)在技術(shù)上很成熟,它的主要特點(diǎn)是交互性強(qiáng)、具有安全的存取模式、網(wǎng)絡(luò)通信量低、響應(yīng)速度快、有利于處理大量數(shù)據(jù)。但是具有該結(jié)構(gòu)的程序的針對性較強(qiáng),變更不夠靈活,維護(hù)和管理的難度較大,通常只局限于小型局域網(wǎng),不利于擴(kuò)展。并且,由于具有該結(jié)構(gòu)的每臺客戶機(jī)都需要安裝相應(yīng)的客戶端程序,分布功能弱且兼容性差,不能實(shí)現(xiàn)快速部署安裝和配置,因此缺少通用性,具有較大的局限性,且要求具有一定專業(yè)水準(zhǔn)的技術(shù)人員才能完成。
1.2.2B/S結(jié)構(gòu)
B/S結(jié)構(gòu),即Browser/Server(瀏覽器/服務(wù)器)結(jié)構(gòu)。此結(jié)構(gòu)只安裝維護(hù)一個(gè)服務(wù)器(Server),而客戶端采用瀏覽器(Browse)。它是隨著Internet技術(shù)的興起,對C/S結(jié)構(gòu)的一種變化和改進(jìn),主要利用了不斷成熟的WWW(萬維網(wǎng))瀏覽器技術(shù),結(jié)合了多種Script語言(VBScript、javascript等)和ActiveX技術(shù),是一種全新的軟件系統(tǒng)構(gòu)造技術(shù)。
B/S三層體系結(jié)構(gòu)采用三層客戶/服務(wù)器結(jié)構(gòu),在數(shù)據(jù)管理層(Server)和用戶界面層(Client)增加了一層結(jié)構(gòu),稱為中間件(Middleware),使整個(gè)體系結(jié)構(gòu)成為三層。三層結(jié)構(gòu)是伴隨著中間件技術(shù)的成熟而興起的,核心概念是利用中間件將應(yīng)用分為表示層、業(yè)務(wù)邏輯層和數(shù)據(jù)存儲層三個(gè)不同的處理層次。這三個(gè)層次是從邏輯上劃分的,具體的物理分法可以有多種組合。中間件作為構(gòu)造三層結(jié)構(gòu)應(yīng)用系統(tǒng)的基礎(chǔ)平臺,提供了以下主要功能:負(fù)責(zé)客戶機(jī)與服務(wù)器、服務(wù)器與服務(wù)器間的連接和通信;實(shí)現(xiàn)應(yīng)用與數(shù)據(jù)庫的高效連接;提供一個(gè)三層結(jié)構(gòu)應(yīng)用的開發(fā)、運(yùn)行、部署和管理的平臺。這種三層結(jié)構(gòu)在層與層之間相互獨(dú)立,任何一層的改變不會影響其他層的功能。
B/S結(jié)構(gòu)的主要特點(diǎn)是分布性強(qiáng)、維護(hù)方便、開發(fā)簡單、共享性強(qiáng)、總體擁有成本低。但同時(shí),數(shù)據(jù)安全問題顯現(xiàn)、數(shù)據(jù)傳輸速度慢、軟件的個(gè)性化特點(diǎn)明顯降低,且對服務(wù)器要求過高,這些缺點(diǎn)是顯而易見的,難以實(shí)現(xiàn)傳統(tǒng)模式下的特殊功能要求。例如通過瀏覽器進(jìn)行大量數(shù)據(jù)輸入、報(bào)表的應(yīng)答、專用性打印輸出比較困難,實(shí)現(xiàn)復(fù)雜的應(yīng)用構(gòu)造也有較大的困難。雖然可以用ActiveX、Java等技術(shù)開發(fā)較為復(fù)雜的應(yīng)用,但是相對于發(fā)展已非常成熟的C/S一系列應(yīng)用工具來說,這些技術(shù)的開發(fā)復(fù)雜,并沒有完全成熟的技術(shù)工具供使用。
1.2.3C/S結(jié)構(gòu)與B/S結(jié)構(gòu)的分析比較
1.硬件環(huán)境不同
C/S建立在局域網(wǎng)的基礎(chǔ)上,通過專門服務(wù)器提供連接和數(shù)據(jù)交換服務(wù),所處理的用戶不僅固定,并且處于相同區(qū)域,要求擁有相同的操作系統(tǒng)。B/S建立在廣域網(wǎng)的基礎(chǔ)上,自己管理信息,有比C/S更強(qiáng)的適應(yīng)范圍,一般只要有操作系統(tǒng)和瀏覽器就行,與操作系統(tǒng)平臺關(guān)系較小,面向不可知的用戶群。
2.結(jié)構(gòu)不同
C/S軟件一般采用兩層結(jié)構(gòu),而B/S采用三層結(jié)構(gòu)。這兩種結(jié)構(gòu)的不同點(diǎn)是兩層結(jié)構(gòu)中客戶端參與運(yùn)算,而三層結(jié)構(gòu)中客戶端不參與運(yùn)算,只是簡單地接收用戶的請求,顯示最后的結(jié)果。由于三層結(jié)構(gòu)中的客戶端并不需要參與計(jì)算,所以對客戶端的計(jì)算機(jī)電腦配置要求較低。
3.處理模式不同
B/S的處理模式與C/S相比,大大簡化了客戶端,只要裝上操作系統(tǒng)、網(wǎng)絡(luò)協(xié)議軟件以及瀏覽器即可,這時(shí)的客戶機(jī)稱為瘦客戶機(jī),而服務(wù)器則集中了所有的應(yīng)用邏輯。
4.系統(tǒng)維護(hù)不同
系統(tǒng)維護(hù)是在軟件生存周期中開銷最大的一部分。C/S程序由于其本身的整體性,必須整體考察并處理出現(xiàn)的問題,而B/S結(jié)構(gòu)的客戶端不必安裝及維護(hù)。
5.對安全要求不同
由于C/S采用點(diǎn)對點(diǎn)的配對結(jié)構(gòu)模式,并采用適用于局域網(wǎng)、安全性比較好的網(wǎng)絡(luò)協(xié)議(例如NT的NetBEUI協(xié)議),安全性可得到較好的保證。C/S一般面向相對固定的用戶群,程序更加注重流程,它可以對權(quán)限進(jìn)行多層次校驗(yàn),提供了更安全的存取模式,對信息安全的控制能力很強(qiáng)。
1.2.4軟件系統(tǒng)架構(gòu)總結(jié)
通過對軟件系統(tǒng)架構(gòu)的了解,我們可以得出這樣的結(jié)論,無論采用怎樣的軟件系統(tǒng)架構(gòu),一個(gè)軟件系統(tǒng)的構(gòu)成大體可分為三層:圖形界面層、業(yè)務(wù)邏輯處理層和數(shù)據(jù)層。
第一層是圖形界面層,該層的主要作用是提供軟件系統(tǒng)的界面,用來和用戶進(jìn)行交互。這一層主要表現(xiàn)為客戶機(jī)上的客戶端程序,因此這層主要是以客戶端程序的編程語言來實(shí)現(xiàn)的。
在B/S結(jié)構(gòu)中,該層主要表現(xiàn)在瀏覽器訪問頁面上,因此該層主要是以html語言、css、JavaScript語言來實(shí)現(xiàn)的。在Android軟件開發(fā)中,這一層主要是由Android中的四大組件和UI控件來實(shí)現(xiàn)的。
軟件系統(tǒng)的最底層是整個(gè)系統(tǒng)的數(shù)據(jù)層,這一層的主要作用是為整個(gè)軟件系統(tǒng)提供需要的數(shù)據(jù)或者對用戶從圖形界面層傳入的數(shù)據(jù)進(jìn)行保存,無論在C/S結(jié)構(gòu)還是B/S結(jié)構(gòu)中,這一層都是由數(shù)據(jù)庫來實(shí)現(xiàn)的,例如我們常見的MySQL、SQLServer、Oracle等數(shù)據(jù)庫。
軟件系統(tǒng)的中間層是業(yè)務(wù)邏輯處理層,該層的主要作用是將用戶界面層中用戶提交的數(shù)據(jù)進(jìn)行處理后存放到數(shù)據(jù)層,或者從數(shù)據(jù)層取得數(shù)據(jù)進(jìn)行處理后提供給圖形界面層使用。這一層主要根據(jù)軟件系統(tǒng)開發(fā)時(shí)所使用的語言來實(shí)現(xiàn)。Android軟件開發(fā)使用的主要工具是Java語言,因此在Android軟件開發(fā)中該層也主要是由Java語言來實(shí)現(xiàn)的。
1.Android界面開發(fā)技術(shù)
技術(shù)包含的學(xué)習(xí)內(nèi)容主要有以下幾種:
(1)?Android最常見的五種Layout布局。
(2)常用控件。
(3)界面美化。
2.Android數(shù)據(jù)存儲技術(shù)
Android中的數(shù)據(jù)存儲方式主要有四種:
(1)?SharedPrefereneces存儲方式。
(2)文件存儲。
(3)?SQLite數(shù)據(jù)庫存儲。
(4)網(wǎng)絡(luò)存儲數(shù)據(jù)。
3.Android中的四大組件
Android四大基本組件分別是Activity組件、BroadcastReceiver(廣播接收者)、Service
(服務(wù))和ContentProvider(內(nèi)容提供者)。
(1)?Activity(組件)。
在Android應(yīng)用程序中,一個(gè)Activity通常就是一個(gè)單獨(dú)的屏幕,它上面可以顯示一些控件,也可以監(jiān)聽并對用戶的事件做出響應(yīng)。
(2)?BroadcastReceiv
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025單位保潔服務(wù)合同范本
- 2025商業(yè)超市供貨合同
- 2《憲法是根本法》(說課稿) -統(tǒng)編版道德與法治六年級上冊
- 農(nóng)村房屋翻新合同范例
- 養(yǎng)殖場長期租賃合同范例
- 勞務(wù)分包結(jié)算合同范本
- 2024-2025學(xué)年高中地理 第一章 環(huán)境與環(huán)境問題 1.1 人類與環(huán)境的關(guān)系說課稿 中圖版選修6
- 兩月工程合同范本
- 勞務(wù)合同范本劉律師
- 浦東鋼結(jié)構(gòu)吊裝施工方案
- 二零二五年知識產(chǎn)權(quán)共享及收益分成合作協(xié)議3篇
- 北師大版二年級數(shù)學(xué)上冊計(jì)算題專項(xiàng)復(fù)習(xí)大全272
- 南通市2025屆高三第一次調(diào)研測試(一模)生物試卷(含答案 )
- 2024年09月2024渤海銀行天津?yàn)I海新區(qū)分行校園招聘筆試歷年參考題庫附帶答案詳解
- 中小學(xué)校食品安全與膳食經(jīng)費(fèi)管理工作指引
- 2023年菏澤醫(yī)學(xué)??茖W(xué)校單招綜合素質(zhì)模擬試題及答案解析
- 鋁合金門窗設(shè)計(jì)說明
- 常見食物的嘌呤含量表匯總
- 小學(xué)數(shù)學(xué)-三角形面積計(jì)算公式的推導(dǎo)教學(xué)設(shè)計(jì)學(xué)情分析教材分析課后反思
- 人教版數(shù)學(xué)八年級下冊同步練習(xí)(含答案)
- 2023年湖南高速鐵路職業(yè)技術(shù)學(xué)院高職單招(英語)試題庫含答案解析
評論
0/150
提交評論