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