張旭輝 沈陽(yáng)職業(yè)技術(shù)學(xué)院
?
基于安卓系統(tǒng)的APP開(kāi)發(fā)技術(shù)探析
張旭輝 沈陽(yáng)職業(yè)技術(shù)學(xué)院
【文章摘要】
【關(guān)鍵詞】
安卓;體系架構(gòu);環(huán)境搭建
隨著智能手機(jī)的普及,使得手機(jī)再也不只是打電話和發(fā)短信的工具了。購(gòu)物、微信、旅游、交友各種APP如雨后春筍般出現(xiàn)讓人們已經(jīng)完全依賴智能手機(jī)。無(wú)論在大街上還是在商場(chǎng)中隨處可見(jiàn)的低頭族也印證了手機(jī)對(duì)人們生活的重要性。
Java作為一種完全面向?qū)ο蟮恼Z(yǔ)言,擁有安全、健壯、分布、可移植等多種優(yōu)點(diǎn)。正是這些優(yōu)點(diǎn)讓Java在很多領(lǐng)域都有廣泛的應(yīng)用。從商業(yè)上的電子商務(wù)網(wǎng)站到安卓App,從科學(xué)應(yīng)用到經(jīng)濟(jì)應(yīng)用,如電子交易系統(tǒng),從游戲到桌面應(yīng)用都有Java的身影。
Android是一種基于Linux的自由及開(kāi)放源代碼的操作系統(tǒng),主要使用于移動(dòng)設(shè)備,如智能手機(jī)和平板電腦,由Google公司和開(kāi)放手機(jī)聯(lián)盟領(lǐng)導(dǎo)及開(kāi)發(fā)。智能手機(jī)的發(fā)展自然離不開(kāi)智能操作系統(tǒng)的不斷進(jìn)化,安卓作為手機(jī)操作系統(tǒng)的一種,因?yàn)槠溟_(kāi)放的源碼特性以及營(yíng)銷(xiāo)模式迅速占領(lǐng)市場(chǎng)。
2.1基本架構(gòu)
在安卓系統(tǒng)中,將操作系統(tǒng)的體系結(jié)構(gòu)分為四層,從下到上分別為L(zhǎng)inux內(nèi)核層、系統(tǒng)運(yùn)行庫(kù)層、應(yīng)用框架層和應(yīng)用層。安卓體系結(jié)構(gòu)如圖1所示。
圖1 安卓體系結(jié)構(gòu)
(1) Linux層:安卓操作系統(tǒng)的底層是基于Linux Kernel的,其功能主要是負(fù)責(zé)操作系統(tǒng)所具有的功能,包括很多的驅(qū)動(dòng)程序,如顯示驅(qū)動(dòng)、相機(jī)驅(qū)動(dòng)、藍(lán)牙驅(qū)動(dòng)等,正是這些驅(qū)動(dòng)程序來(lái)驅(qū)動(dòng)我們的硬件設(shè)備。
(2)系統(tǒng)運(yùn)行庫(kù)層:系統(tǒng)運(yùn)行庫(kù)層包括兩個(gè)部分:庫(kù)文件和安卓運(yùn)行環(huán)境。其中庫(kù)文件中主要是安卓系統(tǒng)會(huì)使用的一些C/C++的庫(kù)文件,包括桌面管理器、媒體庫(kù)、 SQLite等。安卓運(yùn)行環(huán)境則指的是虛擬機(jī)技術(shù),相當(dāng)于java的JDK和JVM,是運(yùn)行安卓應(yīng)用程序所需要的核心庫(kù)。
(3)應(yīng)用框架層:主要是Google發(fā)布的類(lèi)庫(kù),我們學(xué)習(xí)安卓主要也是學(xué)習(xí)這一層,通過(guò)各種各樣的框架才能實(shí)現(xiàn)我們的APP。開(kāi)發(fā)過(guò)程中必須遵循框架的開(kāi)發(fā)原則,框架中主要包括Activity Manager、窗口管理器、視圖系統(tǒng)、通知管理器、電話管理器等。
但是,在好氧條件下硝化菌工作、反硝化菌處于抑制狀態(tài),僅靠硝化工藝并不能有效將污水脫氮。根據(jù)反硝化作用的原理,在缺氧條件下反硝化菌能將NO3
(4)應(yīng)用層:應(yīng)用層當(dāng)然就是指我們開(kāi)發(fā)的APP了,主要是使用Java語(yǔ)言進(jìn)行開(kāi)發(fā)的程序,例如音樂(lè)播發(fā)器、圖片瀏覽器,還有大家使用的地圖、通訊錄等。
2.2四大組件
要想學(xué)會(huì)安卓開(kāi)發(fā),首先必須熟悉安卓的四大組件,包括Activity、 Service、Broadcast Receiver和Content Provider。
(1) Activity:Activity就是一個(gè)人機(jī)交互程序,簡(jiǎn)單來(lái)講手機(jī)中的一個(gè)屏幕內(nèi)容就是一個(gè)Activity,所以Activity主要用于存放不同的顯示控件,是安卓最基本的組成部分。當(dāng)然一個(gè)APP中不止一個(gè)Activity。
(2) Service:Service可以理解為是沒(méi)有屏幕的Activity,例如某些程序沒(méi)有用戶界面,只是希望在后臺(tái)運(yùn)行,就可以定義為一個(gè)Service。背景音樂(lè)的播放、監(jiān)控程序等都可以采用這種方式。
(3) Broadcast Receiver:廣播接收器沒(méi)有用戶界面。它可以啟動(dòng)一個(gè)Activity 或Service 來(lái)響應(yīng)收到的信息,或者用Notification Manager來(lái)通知用戶。
(4) Content Provider:Content Provider的提供主要是為了解決不同的應(yīng)用程序之間進(jìn)行數(shù)據(jù)交換的問(wèn)題,將不同的應(yīng)用程序的數(shù)據(jù)操作標(biāo)準(zhǔn)進(jìn)行統(tǒng)一,并把標(biāo)準(zhǔn)表明給其他程序以方便訪問(wèn),這樣就能達(dá)到應(yīng)用程序交互、共享數(shù)據(jù)的目的。
2.3搭建開(kāi)發(fā)環(huán)境
若想在Windows上進(jìn)行安卓開(kāi)發(fā),首先就需要進(jìn)行開(kāi)發(fā)環(huán)境搭建。
(1)安裝JDK
JDK是Java的核心,包含了Java的運(yùn)行環(huán)境、 Java工具、開(kāi)發(fā)應(yīng)用程序時(shí)調(diào)用的Java類(lèi)庫(kù)等內(nèi)容,所以基于Java的開(kāi)發(fā)均需要安裝JDK??梢詮墓倬W(wǎng)上根據(jù)需要下載不同的版本進(jìn)行安裝。
(2)配置變量環(huán)境
為了配置JDK的系統(tǒng)變量環(huán)境,我們需要設(shè)置三個(gè)系統(tǒng)變量,分別是JAVA_HOME,Path和CLASSPATH。
a.JAVA_HOME:變量值為JDK在你電腦上的安裝路徑:C:Program FilesJava jdk1.8.0_20。創(chuàng)建好后則可以利用%JAVA_ HOME%作為JDK安裝目錄的統(tǒng)一引用路徑,目的是為了方便后面變量的設(shè)置。
b.PATH:PATH屬性已存在,可直接編輯,在原來(lái)變量后追加:;%JAVA_HOME% bin;%JAVA_HOME%jrein
c.CLASSPATH :設(shè)置系統(tǒng)變量名為:CLASSPATH 變量值為:.;%JAVA_HOME% libdt.jar;%JAVA_HOME%lib ools.jar
(3)安裝Eclipse
Eclipse為Java應(yīng)用程序及Android開(kāi)發(fā)的ΙDE。可以從官網(wǎng)下載,Eclipse不需要安裝,直接解壓后,打開(kāi)時(shí)設(shè)置工作空間即可。
(4)安裝Android SDK
為了能在Windows中開(kāi)發(fā)調(diào)試安卓APP,需要為Eclipse配置Android SDK,Google現(xiàn)在提供集成了ADK的Eclipse,可以直接使用,也可以單獨(dú)配置。
隨著移動(dòng)平臺(tái)的發(fā)展,手機(jī)已經(jīng)成為人們必不可少的電子設(shè)備,人們用它來(lái)繳費(fèi)、購(gòu)物、查詢。各種APP的發(fā)展讓生活更加便利、人們獲取服務(wù)、信息的途徑也越來(lái)越廣泛,我們完全可以根據(jù)需求設(shè)計(jì)開(kāi)發(fā)自己的APP。
【參考文獻(xiàn)】
[1]王明曉.基于Android的物聯(lián)網(wǎng)移動(dòng)感知服務(wù)平臺(tái).電腦知識(shí)與技術(shù).2013-02-05.
[2]侯永進(jìn).基于監(jiān)管安全生產(chǎn)的應(yīng)用軟件設(shè)計(jì)和實(shí)現(xiàn).福建電腦.2015-06-25.
[3]黃志艷.3G-Android手機(jī)平臺(tái)應(yīng)用開(kāi)發(fā)研究科技廣場(chǎng).2013-10-30.
本文主要介紹了基于安卓系統(tǒng)的APP開(kāi)發(fā)技術(shù),包括安卓開(kāi)發(fā)的四層體系結(jié)構(gòu)、四大組件以及如何搭建開(kāi)發(fā)環(huán)境等內(nèi)容。這些技術(shù)旨在為開(kāi)發(fā)安卓APP提供支持。