- Android經(jīng)典應(yīng)用程序開發(fā)
- 韓超編著
- 648字
- 2019-01-09 15:18:39
第1章Android應(yīng)用開發(fā)基礎(chǔ)
1.1 Android應(yīng)用開發(fā)基礎(chǔ)概述
1.1.1 Android應(yīng)用開發(fā)的結(jié)構(gòu)
Android是Google開發(fā)的基于Linux平臺(tái)的、開源的智能手機(jī)操作系統(tǒng)。Android包括操作系統(tǒng)、中間件和應(yīng)用程序。OHA(Open Handset Alliance,開放手機(jī)聯(lián)盟)為Google與33家公司聯(lián)手為Android移動(dòng)平臺(tái)系統(tǒng)的發(fā)展而組建的一個(gè)組織。
Android的開發(fā)者可以在完備的開發(fā)環(huán)境中進(jìn)行開發(fā),Android的官方網(wǎng)站也提供了豐富的文檔、資料。這樣有利于Android相關(guān)程序開發(fā)和運(yùn)行在一個(gè)良好的生態(tài)環(huán)境中。
Android應(yīng)用程序開發(fā)是Android開發(fā)中最上面的一個(gè)層次。Android應(yīng)用程序的基礎(chǔ)是Android提供的各個(gè)Java類,這些類也提供了Android平臺(tái)級(jí)的API。位于Android框架層之上的部分,為Android系統(tǒng)的應(yīng)用程序,它們通常被組織成Android應(yīng)用程序包(APK),可以運(yùn)行于各個(gè)Android設(shè)備或者Android仿真器之上,如圖1-1所示。

圖1-1 Android應(yīng)用的開發(fā)結(jié)構(gòu)
Android應(yīng)用程序可以基于兩種環(huán)境來(lái)開發(fā):Android SDK和Android源代碼。Android SDK環(huán)境可以采用IDE的開發(fā)環(huán)境,方便開發(fā)的流程。而使用源代碼開發(fā)Android應(yīng)用程序則可以獲得更多的功能。
完全基于Android標(biāo)準(zhǔn)的API開發(fā)的Android應(yīng)用程序包,可以被稱為“Android經(jīng)典應(yīng)用程序”,這種程序具有標(biāo)準(zhǔn)的兼容性,一般可以任意運(yùn)行于支持了某個(gè)級(jí)別API的Android系統(tǒng)之上。
1.1.2 Android應(yīng)用程序開發(fā)的目的
由于Android系統(tǒng)本身是一個(gè)開發(fā)的系統(tǒng),而且具有標(biāo)準(zhǔn)的API,因此Android應(yīng)用程序包的開發(fā)主要有以下兩種情況。
第一種:第三方應(yīng)用程序;
第二種:具體系統(tǒng)的應(yīng)用程序。
第一種情況是將某個(gè)具體的功能以應(yīng)用程序包(APK)的方式實(shí)現(xiàn),安裝到各個(gè)不同的Android設(shè)備上。以這種模式開發(fā)的應(yīng)用程序,就是第三方應(yīng)用程序包,其特點(diǎn)是同樣的一個(gè)應(yīng)用程序包可以運(yùn)行于不同的目標(biāo)設(shè)備之上,因此尤其需要考慮兼容性問(wèn)題。這種情況開發(fā)的應(yīng)用程序包可能出于以下幾種目的:發(fā)布到Market上可以作為交易的產(chǎn)品,某種功能的具體客戶端,作為廣告的載體,愛(ài)好者共享自己的開發(fā)程序。
第二種情況是隨著某個(gè)具體的系統(tǒng)(一般是某個(gè)Android設(shè)備)所實(shí)現(xiàn)的應(yīng)用程序包。這種情況實(shí)現(xiàn)的應(yīng)用程序包不需要放到其他Android系統(tǒng)上運(yùn)行,因此不需要考慮兼容性問(wèn)題,只要能在當(dāng)前系統(tǒng)中運(yùn)行即可。另一方面,這種情況開發(fā)的應(yīng)用程序可能依賴于具體系統(tǒng)的特定功能。這種情況的目的是讓某個(gè)Android設(shè)備具有更多的功能。
無(wú)論是第三方應(yīng)用程序還是具體系統(tǒng)的應(yīng)用程序,都可以基于SDK或者源代碼兩種開發(fā)環(huán)境開發(fā)。相比較而言,后者使用源代碼環(huán)境開發(fā)的情況更多?;跇?biāo)準(zhǔn)的SDK開發(fā)或者基于源代碼但是只使用標(biāo)準(zhǔn)API的開發(fā)方式,屬于經(jīng)典Android應(yīng)用程序。與之相對(duì),如果使用經(jīng)過(guò)改動(dòng)的源代碼生成的非標(biāo)準(zhǔn)SDK,或者直接使用源代碼環(huán)境開發(fā),則可能使用到標(biāo)準(zhǔn)API以外的接口,這在帶來(lái)更多功能的同時(shí),也帶來(lái)了兼容性的問(wèn)題。
提示:從Android應(yīng)用程序開發(fā)的角度,無(wú)論使用何種環(huán)境(SDK或者源代碼),基于標(biāo)準(zhǔn)API開發(fā)的情況屬于通常情況,也是Android應(yīng)用程序開發(fā)的基本方式。
- App Inventor移動(dòng)應(yīng)用開發(fā)標(biāo)準(zhǔn)教程
- Hands-On MQTT Programming with Python
- 未解之謎(下)
- 巧學(xué)巧用電子測(cè)量實(shí)用技術(shù)
- 一起玩電子:電子制作入門、拓展全攻略
- 通信專業(yè)綜合能力與實(shí)務(wù):終端與業(yè)務(wù)
- 反相對(duì)稱-擴(kuò)頻通信系統(tǒng)抗噪聲性能研究
- Identity with Windows Server 2016:Microsoft 70-742 MCSA Exam Guide
- 錄音技術(shù)基礎(chǔ)與數(shù)字音頻處理指南
- 上門速查快修新型VCD/DVD機(jī)500例
- 5G無(wú)線系統(tǒng)設(shè)計(jì)與國(guó)際標(biāo)準(zhǔn)
- 電子產(chǎn)品制作技術(shù)與技能實(shí)訓(xùn)
- 軟件創(chuàng)富密碼:iPhone應(yīng)用程序開發(fā)攻略之深入淺出Objective-C 2.0
- Final Cut Pro X實(shí)戰(zhàn)從入門到精通
- 電子工藝基礎(chǔ)