Android平臺應用軟件開發(fā)緒論_第1頁
Android平臺應用軟件開發(fā)緒論_第2頁
Android平臺應用軟件開發(fā)緒論_第3頁
Android平臺應用軟件開發(fā)緒論_第4頁
Android平臺應用軟件開發(fā)緒論_第5頁
已閱讀5頁,還剩26頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

緒論1.1Android操作系統(tǒng)簡介1.2軟件系統(tǒng)架構(gòu)

1.1Android操作系統(tǒng)簡介

隨著手機硬件技術(shù)和移動網(wǎng)絡(luò)技術(shù)的發(fā)展,手機的功能已不僅僅拘泥于單純的打電話、發(fā)短信,還具有了多媒體播放、高速網(wǎng)絡(luò)瀏覽、GPS定位、無線連接甚至更多的功能。隨著移動通信技術(shù)的飛速發(fā)展和移動互聯(lián)時代的到來,手機作為人們必備的移動通信工具,已從簡單的通話工具演變成一個移動的個人信息收集和處理的平臺。借助操作系統(tǒng)和豐富的應用軟件,手機成了一臺智能移動終端。

市場上流行的智能手機操作系統(tǒng)有SymbianOS、AndroidOS、WindowsPhone、iOS、Blackberry等。其中AndroidOS和iOS系統(tǒng)不僅僅在智能手機市場份額中遙遙領(lǐng)先,而且這種優(yōu)勢仍在不斷增加。根據(jù)全球領(lǐng)先的移動互聯(lián)網(wǎng)第三方數(shù)據(jù)挖掘與整合營銷機構(gòu)艾媒咨詢數(shù)據(jù)顯示,2012年中國智能手機市場AndroidOS份額達到68.6%,占據(jù)絕對主流地位。

Android英文原意為“機器人”。2003年AndyRubin在美國創(chuàng)辦了一家名為Android的公司,其主要經(jīng)營業(yè)務(wù)為手機軟件和手機操作系統(tǒng)。2005年Google公司收購了Android公司。此后Google公司與摩托羅拉、中國移動、宏達、高通和T-Mobile等30多家無線通信領(lǐng)軍企業(yè)組成了開放手機聯(lián)盟,合作開發(fā)基于Linux的開源手機操作系統(tǒng),并于2007年11月5日正式推出了基于Linux2.6標準內(nèi)核的開源手機操作系統(tǒng),命名為Android。

1.1.1Android平臺的特性

1.采用Java語言

Java是一種面向?qū)ο蟮恼Z言,可以在很多設(shè)備和操作系統(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ā)者提供相關(guān)的測試工具和各種數(shù)據(jù)分析。

4.開發(fā)門檻低

想要為iOS操作系統(tǒng)開發(fā)一款應用,首先開發(fā)者得有一臺Mac電腦。而Android應用開發(fā)者在Windows、Mac還有Linux操作系統(tǒng)上都能完成Android應用程序的開發(fā)工作。

5.市場份額

2014年年底的數(shù)據(jù)統(tǒng)計顯示全球有16億的Android用戶,與此同時,iOS用戶只有3億,而Blackberry以及其他移動操作系統(tǒng)的用戶數(shù)量加起來只有9100萬。對于開發(fā)者而

言,用戶數(shù)量是影響應用程序使用量最直接、最重要的因素。

6.盈利能力

Google是互聯(lián)網(wǎng)公司,靠服務(wù)掙錢;而Apple是設(shè)備商,靠設(shè)備去賺錢。Apple要做的是Apple認為最人性化的設(shè)備,Apple的軟件是為Apple的設(shè)備服務(wù)的。因此iPhone平臺中很多游戲和應用都是收費的。但是Android不同,Android平臺的大多數(shù)應用和游戲都是免費的,因此在Android平臺中,會有更多的用戶愿意去嘗試新的應用和游戲,其盈利多來自應用和游戲中的廣告。這種模式更容易被用戶接受。

1.1.2Android系統(tǒng)架構(gòu)

Android是一個開放源代碼的操作系統(tǒng)。Android和其操作系統(tǒng)一樣,采用了分層架構(gòu)。從架構(gòu)圖看,Android分為四層,從高層到低層分別是應用程序?qū)?APPLICATIONS)、應用程序框架層(APPLICATIONFRAMEWORK)、系統(tǒng)庫層(LIBRARIES)和Linux核心層(LINUXKERNEL),如圖1-1所示。圖1-1Android系統(tǒng)構(gòu)架圖

1.應用程序?qū)?/p>

Android操作系統(tǒng)發(fā)布時,系統(tǒng)中就包含了一系列核心應用程序包,包括E-mail客戶端、SMS短消息程序、日歷、地圖、瀏覽器、聯(lián)系人管理程序等。

2.應用程序框架層

Android的應用程序框架為應用程序?qū)拥拈_發(fā)者提供了簡單方便的API框架,應用程序?qū)拥拈_發(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++實現(xiàn)的,可以通過Android應用程序框架為開發(fā)者提供服務(wù)。

Android運行環(huán)境主要指的是虛擬機技術(shù)——Dalvik。Dalvik虛擬機和一般Java虛擬機不同,Dalvik虛擬機執(zhí)行擴展名為dex的Dalvik可執(zhí)行文件,該格式文件針對小內(nèi)存使用做了優(yōu)化。每一個Android應用程序都在它自己的進程中運行,都擁有一個獨立的Dalvik虛擬機實例。Dalvik被設(shè)計成一個設(shè)備可以同時高效地運行多個虛擬系統(tǒng)。

4.Linux核心層

Linux操作系統(tǒng)具有一些重要的特點,首先是開源,其次強大的內(nèi)存管理和進程管理方案、基于權(quán)限的安全模式、經(jīng)過認證的驅(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ū)動進行了增強等。

1.2軟件系統(tǒng)架構(gòu)隨著網(wǎng)絡(luò)的發(fā)展,越來越多的商業(yè)系統(tǒng)被搬上Internet,一種新的、更具生命力的體系結(jié)構(gòu)被廣泛采用,這就是我們熟知的“三層/多層體系結(jié)構(gòu)”,也就是我們常說的B/S機構(gòu)。三層體系結(jié)構(gòu)中,客戶層是用戶接口和用戶請求的發(fā)出地,典型的應用是網(wǎng)絡(luò)瀏覽器;服務(wù)器層是負責處理客戶層提交請求的計算機,典型的應用是Web服務(wù)器和運行業(yè)務(wù)代碼的應用程序服務(wù)器;數(shù)據(jù)層是為整個軟件系統(tǒng)提供數(shù)據(jù)的數(shù)據(jù)源基地,典型的應用是關(guān)系型數(shù)據(jù)庫和其他后端數(shù)據(jù)資源,如Oracle、SAP、R/3等。

1.2.1C/S結(jié)構(gòu)

C/S結(jié)構(gòu),即Client/Server(客戶機/服務(wù)器)結(jié)構(gòu)。此結(jié)構(gòu)把數(shù)據(jù)庫內(nèi)容放在遠程的服務(wù)器上,而在客戶機上安裝了相應軟件。C/S軟件一般采用兩層結(jié)構(gòu),由兩部分構(gòu)成:前端是客戶機,即用戶界面(Client)結(jié)合了表示與業(yè)務(wù)邏輯,接收用戶的請求,并向數(shù)據(jù)庫服務(wù)提出請求,通常是一個PC;后端是服務(wù)器,即數(shù)據(jù)管理(Server)將數(shù)據(jù)提交給客戶端,客戶端將數(shù)據(jù)進行計算并將結(jié)果呈現(xiàn)給用戶,還要提供完善的安全保護及對數(shù)據(jù)的完整性處理等操作,并允許多個客戶同時訪問同一個數(shù)據(jù)庫。

C/S結(jié)構(gòu)在技術(shù)上很成熟,它的主要特點是交互性強、具有安全的存取模式、網(wǎng)絡(luò)通信量低、響應速度快、有利于處理大量數(shù)據(jù)。但是具有該結(jié)構(gòu)的程序的針對性較強,變更不夠靈活,維護和管理的難度較大,通常只局限于小型局域網(wǎng),不利于擴展。并且,由于具有該結(jié)構(gòu)的每臺客戶機都需要安裝相應的客戶端程序,分布功能弱且兼容性差,不能實現(xiàn)快速部署安裝和配置,因此缺少通用性,具有較大的局限性,且要求具有一定專業(yè)水準的技術(shù)人員才能完成。

1.2.2B/S結(jié)構(gòu)

B/S結(jié)構(gòu),即Browser/Server(瀏覽器/服務(wù)器)結(jié)構(gòu)。此結(jié)構(gòu)只安裝維護一個服務(wù)器(Server),而客戶端采用瀏覽器(Browse)。它是隨著Internet技術(shù)的興起,對C/S結(jié)構(gòu)的一種變化和改進,主要利用了不斷成熟的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),使整個體系結(jié)構(gòu)成為三層。三層結(jié)構(gòu)是伴隨著中間件技術(shù)的成熟而興起的,核心概念是利用中間件將應用分為表示層、業(yè)務(wù)邏輯層和數(shù)據(jù)存儲層三個不同的處理層次。這三個層次是從邏輯上劃分的,具體的物理分法可以有多種組合。中間件作為構(gòu)造三層結(jié)構(gòu)應用系統(tǒng)的基礎(chǔ)平臺,提供了以下主要功能:負責客戶機與服務(wù)器、服務(wù)器與服務(wù)器間的連接和通信;實現(xiàn)應用與數(shù)據(jù)庫的高效連接;提供一個三層結(jié)構(gòu)應用的開發(fā)、運行、部署和管理的平臺。這種三層結(jié)構(gòu)在層與層之間相互獨立,任何一層的改變不會影響其他層的功能。

B/S結(jié)構(gòu)的主要特點是分布性強、維護方便、開發(fā)簡單、共享性強、總體擁有成本低。但同時,數(shù)據(jù)安全問題顯現(xiàn)、數(shù)據(jù)傳輸速度慢、軟件的個性化特點明顯降低,且對服務(wù)器要求過高,這些缺點是顯而易見的,難以實現(xiàn)傳統(tǒng)模式下的特殊功能要求。例如通過瀏覽器進行大量數(shù)據(jù)輸入、報表的應答、專用性打印輸出比較困難,實現(xiàn)復雜的應用構(gòu)造也有較大的困難。雖然可以用ActiveX、Java等技術(shù)開發(fā)較為復雜的應用,但是相對于發(fā)展已非常成熟的C/S一系列應用工具來說,這些技術(shù)的開發(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更強的適應范圍,一般只要有操作系統(tǒng)和瀏覽器就行,與操作系統(tǒng)平臺關(guān)系較小,面向不可知的用戶群。

2.結(jié)構(gòu)不同

C/S軟件一般采用兩層結(jié)構(gòu),而B/S采用三層結(jié)構(gòu)。這兩種結(jié)構(gòu)的不同點是兩層結(jié)構(gòu)中客戶端參與運算,而三層結(jié)構(gòu)中客戶端不參與運算,只是簡單地接收用戶的請求,顯示最后的結(jié)果。由于三層結(jié)構(gòu)中的客戶端并不需要參與計算,所以對客戶端的計算機電腦配置要求較低。

3.處理模式不同

B/S的處理模式與C/S相比,大大簡化了客戶端,只要裝上操作系統(tǒng)、網(wǎng)絡(luò)協(xié)議軟件以及瀏覽器即可,這時的客戶機稱為瘦客戶機,而服務(wù)器則集中了所有的應用邏輯。

4.系統(tǒng)維護不同

系統(tǒng)維護是在軟件生存周期中開銷最大的一部分。C/S程序由于其本身的整體性,必須整體考察并處理出現(xiàn)的問題,而B/S結(jié)構(gòu)的客戶端不必安裝及維護。

5.對安全要求不同

由于C/S采用點對點的配對結(jié)構(gòu)模式,并采用適用于局域網(wǎng)、安全性比較好的網(wǎng)絡(luò)協(xié)議(例如NT的NetBEUI協(xié)議),安全性可得到較好的保證。C/S一般面向相對固定的用戶群,程序更加注重流程,它可以對權(quán)限進行多層次校驗,提供了更安全的存取模式,對信息安全的控制能力很強。

1.2.4軟件系統(tǒng)架構(gòu)總結(jié)

通過對軟件系統(tǒng)架構(gòu)的了解,我們可以得出這樣的結(jié)論,無論采用怎樣的軟件系統(tǒng)架構(gòu),一個軟件系統(tǒng)的構(gòu)成大體可分為三層:圖形界面層、業(yè)務(wù)邏輯處理層和數(shù)據(jù)層。

第一層是圖形界面層,該層的主要作用是提供軟件系統(tǒng)的界面,用來和用戶進行交互。這一層主要表現(xiàn)為客戶機上的客戶端程序,因此這層主要是以客戶端程序的編程語言來實現(xiàn)的。

在B/S結(jié)構(gòu)中,該層主要表現(xiàn)在瀏覽器訪問頁面上,因此該層主要是以html語言、css、JavaScript語言來實現(xiàn)的。在Android軟件開發(fā)中,這一層主要是由Android中的四大組件和UI控件來實現(xiàn)的。

軟件系統(tǒng)的最底層是整個系統(tǒng)的數(shù)據(jù)層,這一層的主要作用是為整個軟件系統(tǒng)提供需要的數(shù)據(jù)或者對用戶從圖形界面層傳入的數(shù)據(jù)進行保存,無論在C/S結(jié)構(gòu)還是B/S結(jié)構(gòu)中,這一層都是由數(shù)據(jù)庫來實現(xiàn)的,例如我們常見的MySQL、SQLServer、Oracle等數(shù)據(jù)庫。

軟件系統(tǒng)的中間層是業(yè)務(wù)邏輯處理層,該層的主要作用是將用戶界面層中用戶提交的數(shù)據(jù)進行處理后存放到數(shù)據(jù)層,或者從數(shù)據(jù)層取得數(shù)據(jù)進行處理后提供給圖形界面層使用。這一層主要根據(jù)軟件系統(tǒng)開發(fā)時所使用的語言來實現(xiàn)。Android軟件開發(fā)使用的主要工具是Java語言,因此在Android軟件開發(fā)中該層也主要是由Java語言來實現(xiàn)的。

1.Android界面開發(fā)技術(shù)

技術(shù)包含的學習內(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應用程序中,一個Activity通常就是一個單獨的屏幕,它上面可以顯示一些控件,也可以監(jiān)聽并對用戶的事件做出響應。

(2)?BroadcastReceiv

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 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

提交評論