Android 簡介

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

1 android 系統架構

1. Linux內核層

Android系統是基于Linux內核的,這一層為Android設備的各種硬件提供了底層的驅動,如顯示驅動、音頻驅動、照相機驅動、藍牙驅動、wi-n驅動、電源管理等。

2. 系統運行庫層

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

3. 應用框架層

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

4. 應用層

所有安裝在手機上的應用程序都是屬于這一層的,比如系統自帶的聯系人、短信等程序,或者是你從Google Play上下載的小游戲,當然還包括你自己開發的程序。


android 系統架構圖

2 Android已發布的版本

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

Android版本名稱Code name Android版本 版本發布時間 對應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應用開發特色

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

4 搭建開發環境

4.1 需要的開發工具

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

4.2 搭建開發環境

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

?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 229,908評論 6 541
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 99,324評論 3 429
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 178,018評論 0 383
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,675評論 1 317
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 72,417評論 6 412
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,783評論 1 329
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,779評論 3 446
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,960評論 0 290
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 49,522評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 41,267評論 3 358
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,471評論 1 374
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 39,009評論 5 363
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,698評論 3 348
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 35,099評論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,386評論 1 294
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 52,204評論 3 398
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 48,436評論 2 378

推薦閱讀更多精彩內容