摘 要:在移動互聯網時代的進程中,智能設備快速普及,手機的使用遍及人們生活的各個角落,影響著人們的學習,工作和娛樂。如今,Android在手機市場份額中遙遙領先,所以Android應用程序成為了市場的主流應用。Android開發技術也隨著開發者們的探索不斷進步,文章簡要分析了Android應用程序開發的常用技術。
關鍵詞:Android;開發;技術
1 Android平臺簡介
Android系統發布于2007年,是由Google公司開發的,基于Linux內核的,開源的軟件平臺[1]。Android誕生至今的幾年時間里,手機廠商,開發者,用戶之間形成了一個完整的生態系統。如今,Android已經發布了二十幾個版本了,深受大眾喜愛。商場研究公司Strategy Analytics公布的最新數據顯示,今年第三季度(6月下旬至9月下旬)Android手機的全球市場份額達到了創紀錄的87.5%。
Android采用層次化架構,由底層往上分為4個主要功能層:(1)Linux內核層(Linux Kernel),為Android設備的硬件提供了底層驅動。(2)系統運行庫層(Libraries和Android Runtime),使用了一些C/C++庫,為Android系統提供了主要的特性支持。(3)應用框架層(Applicathin Framework),主要提供了構建應用程序可能用到的各種API。(4)應用層(Applicathin),包括系統自帶的程序,開發者構建的程序,所有安裝在Android手機上的程序,都是屬于這一層的。
2 Android開發的常用技術概述
在Android應用程序的開發中,由于應用類型不同,使用場景各異,相應的,所運用到的技術會有不同。但是最為基礎也最常用到的有以下幾種:
2.1 數據存儲
我們日常使用的微信,微博等應用程序都在不停的和數據打交道,沒有數據的應用就相當于空殼子,對用戶來說毫無意義,所以數據存儲是必須解決的問題。我們可以通過3種方式來對Android應用程序開發中的數據進行處理:
2.1.1 文件存儲。Android中最基本的數據存儲方式就是文件存儲,使用文件存儲時,內容不會被格式化處理,所有數據直接保存在文件中,所以它適合用來處理一些簡單的文本數據,或者二進制數據。
2.1.2 SharedPreferences 存儲。 有時候需要保存應用的一些常用配置,但無需了解它到底如何保存的,保存在了何處,這時候就可以使用SharedPreferences鍵值對存儲。SharedPreferences還有另外一個用途,即數據的共享,包括同一個應用程序中的不同組件,或者不同應用程序之間。比如兩個activity想要傳遞數據,除了使用Intent之外,也可以通過SharedPreferences來共享數據。
2.1.3 SQLite數據庫存儲。Android平臺集成了SQLite,這時一款輕量級的關系型數據庫,運算速度快,資源占用率低,通常占用的內存不到1MB,因而特別適合用于移動設備[2]。正因為將強大的SQLite數據庫嵌入到系統當中,Android的數據存儲功能有了質的飛躍。SQLite支持SQL標準語法,遵循ACID事務,所以只要有其他關系型數據庫的使用經驗,就可以很快上手SQLite,本文將不多做介紹。
2.2 多媒體播放
2.2.1 播放音頻。Android多媒體框架中提供了一個功能強大的類,MediaPlayer。該類用來處理多種音頻格式,并且提供了全面的控制方法。通過MediaPlayer,開發者可以輕松地獲取,解碼和播放音頻。還有一個類的CPU資源占用比MediaPlayer少,延遲更低,它就是SoundPool類。因為它的特性,常用SoundPool來播放一些短促,密集的游戲音效。
2.2.2 播放視頻。當需要播放視頻時,Android也提供了一個集視頻顯示和控制于一身的類,VideoView。它的用法和MediaPlayer類似,借助它就可以進行一些簡單的視頻播放操作。
2.3 網絡技術
在這個手表,眼鏡,汽車都可以連接互聯網的時代,相信幾乎沒有人愿意忍受不能上網的應用了吧,人們日常接觸最多的QQ,微博,微信等應用,都大量運用了網絡技術。
Android最常用的就是,在客戶端使用HTTP協議與服務器端進行網絡交互。其工作原理非常簡單,首先客戶端會響入伍前發出一條HTTP請求,接著服務器會返回數據,然后客戶端再進行解析。是不是很簡單?當然,僅靠三言兩語肯定無法道出HTTP的奧妙,開發者還需要繼續深入分析。
2.4 多線程編程
開發者對于多線程編程一定不會陌生,因為線程在應用程序的開發中不可或缺[3]。那么Android應用程序開發中,多線程起到什么作用呢?
當我們需要執行一些耗時操作,比如發起一條網絡請求,因為網速或其他原因,服務器未必立即響應,這時將這類操作放在子線程中,就可以避免主線程被阻塞,從而保證用戶正常使用應用程序。
一個常見的例子就是,當網絡游戲登陸時,畫面上顯示動畫或進度條,后臺進程鏈接服務器。可見線程可以應用到Android游戲開發當中,當然,線程的作用不僅限于此。
2.5 LBS
LBS就是基于位置的服務。其實很多年前,人們就已經開始利用無線電通訊網絡或者GPS進行定位了,所以LBS本身并不是新潮的技術,那它為什么在最近幾年大行其道呢?
因為,相比之前僅僅對設備進行定位,如今有了Android平臺,我們可以利用定位出的位置進行查詢路線,分享位置信息等操作,使得LBS技術迅速流行起來。
因為一些特殊原因,雖然Android提供了相應的API支持,但是國內開發者通常不使用GPS定位和網絡定位這兩種方式,而更多借助第三方公司提供的SDK,比如高德地圖或百度地圖。
3 結束語
隨著通信技術的飛速發展,現狀的手機用戶量已經遠遠超過PC用戶量,Android應用產業在這樣的環境中迅速崛起,Android目前在手機市場中占據了巨大的份額,遠超其他系統,是最主流的智能手機平臺。毫無疑問,Android應用程序開發的前景是非常廣闊的,本文僅簡要介紹了Android開發的幾種常用技術,要想成為優秀的Android開發者,還需要進行更為深入的研究。
參考文獻
[1]陳曉男,張海越.Android系統的分析與研究[J].數字技術與應用,2013(10):118+121.
[2]郭霖.第一行代碼-Android(第2版)[M].北京:人民郵電出版社,2016.
[3]解攀科.基于Android的移動學習系統設計與實現[D].華中師范大學,2011.
作者簡介:蒙華(1994-),男,仫佬族,廣西環江,桂林航天工業學院,軟件工程專業,本科生在讀。