聲明:由于互聯(lián)網(wǎng)數(shù)據(jù)的分享性芽偏,本人僅僅是針對各個網(wǎng)站和書本以及自己的實(shí)踐總結(jié)出該系列的筆記愿伴,不會用于商業(yè)用途曹傀。由于參考的網(wǎng)站太多城丧,我不會列舉出來宛篇。書籍主要參考的是《第一行代碼》计福。
Android系統(tǒng)的認(rèn)知
歷史軌跡
Android 是一種基于
Linux
的自由及開放源代碼的操作系統(tǒng)跌捆,多用于移動設(shè)備。2003年10月象颖,Andy Rubin等人創(chuàng)建了 Android 公司佩厚,建立 Android 團(tuán)隊(duì),并在2005年8月17日被谷歌收購说订。
2008年9月抄瓦,谷歌正式發(fā)布了
Android 1.0
潮瓶。到目前的最新版本是
Android 7.0 (Nougat)
(2016)。
Android系統(tǒng)架構(gòu)
Android 系統(tǒng)大致分為四層架構(gòu)钙姊,五塊區(qū)域毯辅。
- 硬件抽象層& Linux 內(nèi)核層——安卓系統(tǒng)基于Linux2.6內(nèi)核,從運(yùn)行的角度來看煞额,它們只是運(yùn)行在Linux系統(tǒng)上的一些進(jìn)程思恐,并不是完整的系統(tǒng)。硬件抽象層(Hardware Abstract Layer膊毁,HAL)胀莹,是Android為廠商定義的一套接口標(biāo)準(zhǔn),它為框架層提供接口支持婚温,廠商需要根據(jù)定義的接口實(shí)現(xiàn)相應(yīng)功能描焰。Linux內(nèi)核層為主要是為Android設(shè)備提供各種底層驅(qū)動、電源管理等栅螟。
- 系統(tǒng)運(yùn)行庫層——這一層通過一些C/C++核心類庫來給Android系統(tǒng)提供主要的特性荆秦。例如SQLitet庫提供了數(shù)據(jù)庫支持。
- 應(yīng)用框架層——這一層提供各種API供開發(fā)者構(gòu)建自己的應(yīng)用程序力图,每一次 Android 系統(tǒng)升級萄凤,能看到的都是框架層 SDK 的變遷,增加了新的功能搪哪,提供了新的接口靡努。
- 應(yīng)用層——系統(tǒng)自帶或者自己下載的、自己開發(fā)的 APP晓折。
Android應(yīng)用開發(fā)特點(diǎn)
四大組件——活動(Activity)惑朦、服務(wù)(Service)、廣播接收器(Broadcast Receiver)和內(nèi)容提供器(Contend Provider)
豐富的系統(tǒng)控件漓概。
SQLite 數(shù)據(jù)庫漾月,一種輕量級、運(yùn)算速度極快的嵌入式關(guān)系型數(shù)據(jù)庫胃珍,可以通過 Android 封裝好的 API 進(jìn)行操作梁肿,讓存儲和讀取數(shù)據(jù)變得十分方便。
地理位置定位觅彰。
強(qiáng)大的多媒體吩蔑,如音樂、視頻填抬、錄音烛芬、拍照等。
-
多種傳感器,例如加速度傳感器赘娄、方向傳感器仆潮。
?
Uebung macht die Meister!