劉海濤
摘要:隨著科學技術(shù)的突飛猛進,通信行業(yè)也得到了快速的進步。伴隨著智能手機的推廣與深入,現(xiàn)如今手機的作用已經(jīng)不再是單純的撥打電話與發(fā)送短信了。消費、聊天、社交、出行各種APP就像雨后的春筍一般涌現(xiàn)在APP市場當中。基于此,本文對安卓系統(tǒng)的APP開發(fā)技術(shù)進行研究分析。
關(guān)鍵詞:安卓系統(tǒng);APP開發(fā)技術(shù);研究
1安卓概述
Android,中文名安卓,是一個由谷歌公司開發(fā)的基于Linux核心的操作系統(tǒng),主要安裝在智能手機以及平板電腦上,以Apache免費開放原始碼許可證授權(quán)方式,供全世界的APP開發(fā)商使用,成為全球第一大智能手機操作系統(tǒng)。基于安卓平臺的開發(fā)環(huán)境,具有其獨特的優(yōu)勢,主要體現(xiàn)在以下幾個方面:
①源碼開放性好,開發(fā)者可根據(jù)自己的需求,在平臺上進行二次開發(fā),這對于底層上進行細節(jié)開發(fā)的工程師而言,明顯提高的開發(fā)的效率;
②更為便捷的應(yīng)用程序開發(fā),采用Java語言編寫程序,安卓系統(tǒng)開發(fā)平臺提供了大量的開發(fā)工具以及API接口,縮短了開發(fā)的周期;
③硬件選擇多樣化,安卓系統(tǒng)開源性使其能夠支持不同硬件;
④能夠與谷歌進行無縫結(jié)合,充分利用谷歌公司提供了服務(wù)。
2安卓系統(tǒng)
2.1基本架構(gòu)
在安卓系統(tǒng)當中,把操作系統(tǒng)的架構(gòu)大致分成為下列四層,分別是:Linux內(nèi)核層、系統(tǒng)運作庫層、軟件框架層以及其對應(yīng)的應(yīng)用層。
Linux層:安卓操作系統(tǒng)的基礎(chǔ)層就是依照Linux Kernel所建立起來的,其性能主要就是負責操作體系當中所具備的性能,包含有很多的驅(qū)動軟件,譬如顯示器驅(qū)動、紅外線驅(qū)動、攝像機驅(qū)動、藍牙驅(qū)動等,正是這樣的一些驅(qū)動軟件的存在來運作我們對應(yīng)的設(shè)備工具。
系統(tǒng)運行庫層:包括庫文件和安卓運行環(huán)境。其中庫文件中主要是安卓系統(tǒng)會使用的一些C/C++的庫文件,包括桌面管理器、媒體庫、SQLite等。安卓運行環(huán)境則指的是虛擬機技術(shù),相當于java的JDK和JVM,是運行安卓應(yīng)用程序所需要的核心庫。
應(yīng)用框架層:主要使用的是谷歌所發(fā)布的庫存,我們學習安卓主要就是學習這樣的一個層面,借助各個多元的框架才可以運作我們的軟件。在研究開發(fā)的環(huán)節(jié)當中要求尊崇框架體系的研發(fā)準則,框架當中主要是包含有Activity Manager、窗口控制設(shè)備、視圖系統(tǒng)、通知管理系統(tǒng)以及電話通訊控制器等。
應(yīng)用層:應(yīng)用層當然就是指我們開發(fā)的APP了,主要是使用Java語言進行開發(fā)的程序,例如音樂播發(fā)器、圖片瀏覽器,還有大家使用的地圖、通訊錄等。
2.2安卓系統(tǒng)四大構(gòu)件
要想學會安卓的研發(fā),首先要求熟悉安卓系統(tǒng)當中的四大構(gòu)件,分別為Activity、Service、Broadcast Receiver與Content Provider。
Activity:Activity其實就是一個人機交互系統(tǒng),簡單來說手機當中的一個屏幕內(nèi)容都屬于Activity,因此Activity主要的作用就是用于存放不同類型的顯示構(gòu)件,在此當中最大的構(gòu)成部分就是安卓最根本的構(gòu)成環(huán)節(jié)。但是在一個APP當中遠遠不止有一個Activity。
Service:Service能夠理解成是一個沒有屏幕的Activity,譬如在很多的程序當中都沒有對應(yīng)的用戶界面,只是存在于其后臺運作,就能夠?qū)⑵涠x成是一個Service。
Broadcast Receiver:廣播接收器沒有用戶界面。它可以啟動一個Activity或Service來響應(yīng)收到的信息,或者用Notification Manager來通知用戶。
Content Provider:主要是為了解決不同的應(yīng)用程序之間進行數(shù)據(jù)交換的問題,將不同的應(yīng)用程序的數(shù)據(jù)操作標準進行統(tǒng)一,并把標準表明給其他程序以方便訪問,這樣就能達到應(yīng)用程序交互、共享數(shù)據(jù)的目的。
3安卓開發(fā)環(huán)境
安卓應(yīng)用軟件開發(fā)語言有很多,但是主流的開發(fā)語言是Java語言,使接口到功能,都有層出不窮的變化。Java語言最大的特性提高了軟件的交互的可能性,安卓系統(tǒng)大部分應(yīng)用程序幾乎都是利用Java語言來進行編寫的。使用Java語言開發(fā)的軟件的程序庫、數(shù)據(jù)庫、運行庫都是安卓系統(tǒng)的一大特點。Java語言自身的優(yōu)點也有很多,所以安卓應(yīng)用軟件的開發(fā)應(yīng)用到了Java的核心類的知識量,這也讓使用Java語言開發(fā)的安卓軟件具備優(yōu)勢。
Android Studio是谷歌技術(shù)公司就Android研發(fā)的定置IDE,用具,不僅如此能夠借助以往的Eclipse+ADT來當作是對應(yīng)的研發(fā)環(huán)境。Android Studio。其基地借助lntellij IDEA來當作是對應(yīng)的研發(fā)設(shè)備,研發(fā)的速率相對較快,更是現(xiàn)如今依照安卓體系當中的APP研發(fā)最為常見圓弧就是其最為常見的一個研發(fā)工具,安卓官網(wǎng)所提供Android Studio安裝包當中自身攜帶有AVD,處在構(gòu)建的安卓模擬裝置當中,可以開展對應(yīng)的監(jiān)測工作。
4基于安卓系統(tǒng)的APP開發(fā)安全環(huán)境與注意事項
無線移動智能移動終端系統(tǒng)帶來的安全挑戰(zhàn)較固定網(wǎng)絡(luò)、桌面設(shè)備更為嚴峻,移動應(yīng)用的開發(fā)需要確保高安全性,否則應(yīng)用不會被個人以及企業(yè)所接受,基于安卓APP開發(fā),便需要考慮安全開發(fā)。針對代碼安全,需要從以下幾個方面考慮,首先,需要安全規(guī)范的編寫代碼,提高軟件的質(zhì)量與安全性,其次需要通過代碼混淆方式保護代碼,防止惡意攻擊者進行反編譯,對于開放性非常強的安卓系統(tǒng)而言,APP開發(fā)過程中的代碼安全是開發(fā)過程中的質(zhì)控的重要內(nèi)容,通過增加保護性編程、編程后安全審計等工作規(guī)范代碼安全編寫工作。針對權(quán)限管理,考慮到安卓設(shè)計時借鑒了早期操作系統(tǒng)安全問題解決經(jīng)驗,規(guī)范了權(quán)限的設(shè)定與授予,開發(fā)者可公共Android manifest.xml等配置文件以及內(nèi)部的權(quán)限管理機制,設(shè)定權(quán)限,如若應(yīng)用需要訪問移動或局域無限網(wǎng),則需要在文件中加入運行訪問的ACCESS NETWORK STATE條目,安卓系統(tǒng)在安裝后也需要檢查權(quán)限,以通知用戶規(guī)避風險。
處于對框架層安全的考慮,要求借助安卓數(shù)字認證來加以完成,數(shù)字證書主要運用到管理應(yīng)用更新以及其社會應(yīng)用間通信的權(quán)限。
5結(jié)語
從目前安卓運行操作系統(tǒng)的APP開發(fā)市場的整體情況來看,雖然在安卓平臺可以有很多的開發(fā)經(jīng)驗可以借鑒,而且在安卓運行操作系統(tǒng)本身進行開發(fā)可以降低很多的難度,減少很多工作量,但是因為安卓運行操作系統(tǒng)自身的特點是開源,所以開發(fā)者需要注意對開發(fā)環(huán)境的管理安全,重視安卓系統(tǒng)本身系統(tǒng)漏洞修補工作。
參考文獻:
[1]安卓系統(tǒng)手機應(yīng)用的趨勢研究[J].王慧娟.中國新通信.2016(04).
[2]安卓操作系統(tǒng)在APP開發(fā)中的應(yīng)用研究[J].王廷雨,邵怡琳.信息系統(tǒng)工程.2016(06).
(作者單位:內(nèi)蒙古機電職業(yè)技術(shù)學院)