Android 簡介

歡迎你來到Android世界! Android系統(tǒng)是目前世界上市場占有率最高的移動操作系統(tǒng),不管你在哪里,都可以看到Android手機(jī)幾乎無處不在。今天的
Android世界可謂欣欣向榮,可是你知道它的過去是什么樣的嗎?我們一起來看一看它的發(fā)展史吧。2003年10月,Andy Rubin等人一起創(chuàng)辦了 Android公司。2005年8月谷歌收購了這家僅僅成立了 22個月的公司,并讓Andy Rubin繼續(xù)負(fù)責(zé)Android項目。在經(jīng)過了數(shù)年的研發(fā)之后,谷歌終于在2008年推出了 Android系統(tǒng)的第一個版本。但自那之后,Android的發(fā)展就一直受到重重阻撓。喬布斯自始至終認(rèn)為Android是一個抄襲iPhone的產(chǎn)品,里面剽竊了諸多iPhone的創(chuàng)意,并聲稱一定要?dú)У鬉ndroido而本身就是基于Linux開發(fā)的Android操作系統(tǒng),在2010年被Linux團(tuán)隊從Linux內(nèi)核主線中除名。又由于Android中的應(yīng)用程序都是使用Java開發(fā)的,甲骨文則針對Android侵犯Java知識產(chǎn)權(quán)一事對谷歌提起了訴訟……

1 android 系統(tǒng)架構(gòu)

1. Linux內(nèi)核層

Android系統(tǒng)是基于Linux內(nèi)核的,這一層為Android設(shè)備的各種硬件提供了底層的驅(qū)動,如顯示驅(qū)動、音頻驅(qū)動、照相機(jī)驅(qū)動、藍(lán)牙驅(qū)動、wi-n驅(qū)動、電源管理等。

2. 系統(tǒng)運(yùn)行庫層

這一層通過一些C/C++庫來為Android系統(tǒng)提供了主要的特性支持。如SQLite庫提供了數(shù)據(jù)庫的支持,OpenGL|ES庫提供了 3D繪圖的支持,Webkit庫提供了瀏覽器內(nèi)核的支持等。同樣在這一層還有Android運(yùn)行時庫,它主要提供了一些核心庫,能夠允許開發(fā)者使用Java語言來編寫Android應(yīng)用。另外,Android運(yùn)行時庫中還包含了 Dalvik虛擬機(jī)(5.0系統(tǒng)之后改為ART運(yùn)行環(huán)境),它使得每一個Android應(yīng)用都能運(yùn)行在獨(dú)立的進(jìn)程當(dāng)中,并且擁有一個自己的Dalvik虛擬機(jī)實例。相較于Java虛擬機(jī),Dalvik是專門為移動設(shè)備定制的,它針對手機(jī)內(nèi)存、CPU性能有限等情況做了優(yōu)化處理。

3. 應(yīng)用框架層

這一層主要提供了構(gòu)建應(yīng)用程序時可能用到的各種API, Android自帶的一些核心應(yīng)用就是使用這些API完成的,開發(fā)者也可以通過使用這些API來構(gòu)建自己的應(yīng)用程序。

4. 應(yīng)用層

所有安裝在手機(jī)上的應(yīng)用程序都是屬于這一層的,比如系統(tǒng)自帶的聯(lián)系人、短信等程序,或者是你從Google Play上下載的小游戲,當(dāng)然還包括你自己開發(fā)的程序。


android 系統(tǒng)架構(gòu)圖

2 Android已發(fā)布的版本

2008年9月,谷歌正式發(fā)布了 Android 1.0系統(tǒng),這也是Android系統(tǒng)最早的版本。隨后的幾年,谷歌以驚人的速度不斷地更新Android系統(tǒng),2.1、2.2、2.3系統(tǒng)的推出使Android占據(jù)了大量的市場。2011年2月,谷歌發(fā)布了 Android 3.0系統(tǒng),這個系統(tǒng)版本是專門為平板電腦設(shè)計的,但也是Android為數(shù)不多的比較失敗的版本,推出之后一直不見什么起色,市場份額也少得可憐。不過很快,在同年的10月,谷歌又發(fā)布了 Android4.0系統(tǒng),這個版本不再對手機(jī)和平板
進(jìn)行差異化區(qū)分,既可以應(yīng)用在手機(jī)上,也可以應(yīng)用在平板上。2014年Google I/O大會上,谷歌推出了號稱史上版本改動最大的Android 5.0系統(tǒng),其中使用ART運(yùn)行環(huán)境替代了 Dalvik虛擬機(jī),大大提升了應(yīng)用的運(yùn)行速度,還提出了 Material Design的概念來優(yōu)化應(yīng)用的界面設(shè)計。除此之外,還推出了 Android Wear A Android Auto. Android TV系統(tǒng),從而進(jìn)軍可穿戴設(shè)備、汽車、電視等全新領(lǐng)域。之后Android的更新速度更加迅速,2015年Google I/O大會上推出了 Android 6.0系統(tǒng),加人運(yùn)行時權(quán)限功能,2016年Google I/O大會上推出了 Android 7.0系統(tǒng),加人多窗口模式功能,這也是目前最新的Android系統(tǒng)版本。

Android版本名稱Code name Android版本 版本發(fā)布時間 對應(yīng)API
(no code name) 1.0 2008年9月23日 API level 1
(no code name) 1.1 2009年2月2日 API level 2
Cupcake 1.5 2009年4月17日 API level 3,NDK 1
Donut 1.6 2009年9月15日 API level 4,NDK 2
Eclair 2.0.1 2009年12月3日 API level 6
Eclair 2.1 2010年1月12日 API level 7,NDK3
Froyo 2.2.x 2010年1月12日 API level 8,NDK 4
Gingerbread 2.3 – 2.3.2 2011年1月1日 API level 9,NDK5
Gingerbread 2.3.3 – 2.3.7 2011年9月2日 API level 10
Honeycomb 3.0 2011年2月24日 API level 11
Honeycomb 3.1 2011年5月10日 API level 12,NDK 6
Honeycomb 3.2.x 2011年7月15日 API level 13
Ice Cream Sandwich 4.0.1 – 4.0.2 2011年10月19日 API level 14,NDK 7
Ice Cream Sandwich 4.0.3 – 4.0.4 2012年2月6日 API level 15,NDK 8
Jelly Bean 4.1 2012年6月28日 API level 16
Jelly Bean 4.1.1 2012年6月28日 API level 16
Jelly Bean 4.2-4.2.2 2012年11月 API level 17
Jelly Bean 4.3 2013年7月 API level 18
KitKat 4.4 2013年7月24日 API level 19
Kitkat Watch 4.4W 2014年6月 API level 20
Lollipop(Android L) 5.0/5.1 2014年6月25日 API level 21/API level 22
Marshmallow(Android M) 6.0 2015年5月28日 API level 23
Nougat(Android N) 7.0 2016年5月18日 API level 24
Nougat(Android N) 7.1 2016年12月 API level 25
Oreo(Android O) 8.0 2017年8月22日 API level 26
Oreo(Android O) 8.1 2017年12月5日 API level 27
Pie (Android P) 9.0 2018年8月7日 API level 28

3 Android應(yīng)用開發(fā)特色

  1. 四大組件
    Android系統(tǒng)四大組件分另是活動(Activity)、月艮務(wù)(Service).廣播接收器(Broadcast Receiver)和內(nèi)容提供器(Content Provider )o其中活動是所有Android應(yīng)用程序的門面,凡是在應(yīng)用中你看得到的東西,都是放在活動中的。而服務(wù)就比較低調(diào)了,你無法看到它,但它會一直在后臺默默地運(yùn)行,即使用戶退出了應(yīng)用,服務(wù)仍然是可以繼續(xù)運(yùn)行的。廣播接收器允許你的應(yīng)用接收來自各處的廣播消息,比如電話、短信等,當(dāng)然你的應(yīng)用同樣也可以向外發(fā)出廣播消息。內(nèi)容提供器則為應(yīng)用程序之間共享數(shù)據(jù)提供了可能,比如你想要讀取系統(tǒng)電話簿中的聯(lián)系人,就需要通過內(nèi)容提供器來實現(xiàn)。
  2. 豐富的系統(tǒng)控件
    Android系統(tǒng)為開發(fā)者提供了豐富的系統(tǒng)控件,使得我們可以很輕松地編寫出漂亮的界面。當(dāng)然如果你品位比較高,不滿足于系統(tǒng)自帶的控件效果,也完全可以定制屬于自己的控件。
  3. SQLite數(shù)據(jù)庫
    Android系統(tǒng)還自帶了這種輕量級、運(yùn)算速度極快的嵌人式關(guān)系型數(shù)據(jù)庫。它不僅支持標(biāo)準(zhǔn)的SQL語法,還可以通過Android封裝好的API進(jìn)行操作,讓存儲和讀取數(shù)據(jù)變得非常方便。
  4. 強(qiáng)大的多媒體
    Android系統(tǒng)還提供了豐富的多媒體服務(wù),如音樂、視頻、錄音、拍照、鬧鈴,等等,這一切你都可以在程序中通過代碼進(jìn)行控制,讓你的應(yīng)用變得更加豐富多彩。
  5. 地理位置定位
    移動設(shè)備和PC相比起來,地理位置定位功能應(yīng)該可以算是很大的一個亮點(diǎn)。現(xiàn)在的Android手機(jī)都內(nèi)置有GPS,走到哪兒都可以定位到自己的位置,發(fā)揮你的想象就可以做出創(chuàng)意十足的應(yīng)用,如果再結(jié)合功能強(qiáng)大的地圖功能,LBS這一領(lǐng)域潛力無限。

4 搭建開發(fā)環(huán)境

4.1 需要的開發(fā)工具

  • JDK。IDK是Java語言的軟件開發(fā)工具包,它包含了 Java的運(yùn)行環(huán)境、工具集合、基礎(chǔ)類庫等內(nèi)容。
  • Android SDK。Android SDK是谷歌提供的Android開發(fā)工具包,在開發(fā)Android程序時,我們需要通過引人該工具包,來使用Android相關(guān)的API。
  • Android Studio。在很早之前,Android項目都是用Eclipse來開發(fā)的,相信所有Java開發(fā)者都一定會對這個工具非常熟悉,它是Java開發(fā)神器,安裝ADT插件后就可以用來開發(fā)Android程序了。而在2013年的時候,谷歌推出了一款官方的IDE工具Android Studio,由于不再是以插件的形式存在,Android Studio在開發(fā)Android程序方面要遠(yuǎn)比Eclipse強(qiáng)大和方便得多。

4.2 搭建開發(fā)環(huán)境

下載地址
studio 安裝教程
第一次使用Android Studio時你應(yīng)該知道的一切配置

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 1.通訊制式的進(jìn)化 手機(jī)的發(fā)展根據(jù)通信技術(shù)大致可以劃分為4個時代(G:Generation的縮寫): ?1G:最初...
    碼鍛閱讀 441評論 0 0
  • 本文主要是對Android系統(tǒng)做一個簡介,包括其架構(gòu)、啟動流程、沙箱機(jī)制、APK、Darlvik以及ART。 架構(gòu)...
    Q吹個大氣球Q閱讀 720評論 0 3
  • 引言: 從接觸Android學(xué)習(xí)到開發(fā)馬上就有3年了,講道理是不是也該算是一個熟練的碼農(nóng)了(啥時候能成大牛...
    半路自由閱讀 381評論 0 0
  • 第一部分目錄: 第一章 快速入門 安裝工具 再見Hello World 模擬器(或真機(jī))運(yùn)行 其他步驟 常用快捷鍵...
    Nathan_Chou閱讀 425評論 1 0
  • 阿木土閱讀 337評論 0 0

友情鏈接更多精彩內(nèi)容