標籤:
Android 的前世今生
Android 系統架構
Android 主要組成 部分
Android 常用的操作
Android 的前世今生
Android 的誕生
2003年10月,有“Android之父”之稱的安迪·魯賓(Andy Rubin)在美國加利福尼亞州帕洛阿爾托建立了Android科技公司(Android Inc.)。
Android 的發展曆程
2005年8月17日Google公司(Google)收購了這家公司,並不斷將其開發成為現在的安卓系統。
2007年11月12日,Android Beta作業系統SDK正式發布。
2008年9月23日發布,這也是Android系統最早的版本。 Android 1.0
伴隨1.0的發布,首款搭載Android 1.0 OS的Android手機誕生。因為1.0不支援觸摸輸入,因此G1配置了實體鍵盤。圖為HTC Dream(G1)
2009年4月30日發布。從這時起,Android系統版本都是以糕點進行命名,並以字母排序。
2009年9月15日發布。Android1.6首次支援了CDMA網路, Android 1.6
2009年11月 Android 2.0
2010年5月20日發布。直到Android2.2發布時,Google似乎才開始認真考慮Android的企業級功能。
2010年12月7日發布。該版本開始對NFC的支援,Android 2.3
2011年2月2日發布。“蜂巢” Android 3.0,專為平板設計
2011年10月19日在香港發布。Android4.0
2012年6月28日發布。Android4.1是Google繼蜂巢之後,一次全新的平板策略嘗試。
2014 年 10 月 15 日發布,Lollipop(棒棒糖):Android 5.0
全新Material Design設計風格
支援多種裝置
支援64位ART虛擬機器
2015年9月30日,Marshmallow(棉花糖):Android 6.0
原生的應用許可權管理
支援RAW格式照片
支援快速充電的切換
2016年5月18日,Nougat(牛軋糖):Android N (Android 7.0)
分屏多任務
全新下拉快捷開關頁
系統級電話黑名單功能
夜間模式
通知訊息快捷回複
- Android 未來發展方向預測
智能手機必然越來越智能,只是Android做為智能手機的一個方陣,自然也有它的生命週期。
現在,Android如日中天,在沒有其他足夠代替智能手機的產物出現之前,是不太可能被其他的東西所替代。
Android現在已經加入了智能家居的配置,也會加強在身份識別上的認證,整合各種各樣的ID Card。
現在Android也不僅僅是手機上發力,在汽車導航,在電視,在有螢幕的地方,都可能有它的地盤。
Android 系統架構
- 基本認知
從使用者角度來看,第一次拿到Android手機,很明顯的感覺就是和Windows案頭有些相似,都是在系統的基礎上安裝一些應用程式。
直觀的瞭解是,Android分為了系統層和應用程式層。
Android又有很多電腦不具有的硬體裝置,這些都是有它自己的驅動程式來引導的。
有一定系統知識的人都知道,系統通常又可以分為核心層,系統運行庫,和介面等幾個層次。
但這些畢竟都是比較簡單的認知,下面還是從它的實際架構圖上去瞭解下Android的層次
- 架構圖
可以看出,Android主要分為四個層次
Linux 核心層
系統運行庫 Android執行階段程式庫
應用程式架構層
應用程式層
應用程式層最好理解,也是智能手機價值體現的重要部分。
應用程式構架層,也是程式員最常使用的部分,這裡就包括了Android著名的四大組件
系統運行庫,程式要使用的一些常用庫如(資料庫,字型庫,瀏覽器引擎,圖形,媒體庫等)
Linux核心,就是一些驅動,檔案系統,安全性,網路等幾乎直接和硬體打交道的東西。
Android 主要組成 部分
四大組件
Activity
直接翻譯叫:活動,也就是你能看到有介面的對象,應該都算是Activity了。
它是由Fragment或者 View(控制項)填充來實現的。類似於電腦軟體的Form介面 。
Form介面的滑鼠點擊事件,在Activity中就是手指的點擊事件,只是手指可以做出更多的操作,也就是說Activity可以對多種操作做出反應。(點,長按,雙擊,拖等)
每個Activity都有它自己的生命週期,和人一樣,有出生的時候,有使用的時候,有暫停(生病)的時候,有恢複的時候,當然也有死亡,還有銷毀(火葬)的時候。在不同的時期,Activity對應做相應的事情,如:出生就只是建立一個新生命,它還什麼都不能做,長大了就可以對一些事做出處理了。
ContentProvider
內容提供器,相當於一個雲空間,誰都可以擷取其中的內容,也可以往雲中放內容。
這樣,不用每一個軟體都自己建一個資料庫,節省很多空間,同時也省去同類型資料存在在不同軟體中找不到的情況。
BroadCastReceiver
廣播,就是手機的喇叭,可以放外音,也可以用耳朵聽。
放外音就是誰都可以聽到,誰都可以處理(當然還有一些特別的地方)
用耳朵聽,就只能自己聽到了,自己給自己發送廣播,自己的廣播,自己處理。
有什麼好處呢?當有訊息來了,不用一個個的通知了,誰要處理,誰處理去。
如果是我自己的訊息來了,你點一下,我自然也會來處理的。
Service
服務,就是在後台中啟動並執行代碼,這些代碼沒有介面顯示。
以前會有疑惑,後台啟動並執行歌曲 不是有一個通知欄顯示嗎?其實那隻是通知欄介面,跟Service沒有關係,不要這個介面也是可以播放歌曲的。
Service有點類似人的大腦,你是看不到它在算東西的,但是它能在大腦中設計出各種東西,做各種複雜的運算,還可以做一晚上的夢呢。
但大腦不是無緣無故的就開始運作,而是要有一定的觸發條件,比如看到了什麼東西,有什麼問題發生了等等,Service也是一樣,一定要一個東西觸發它啟動,並告訴程式什麼時候我做完了,然後返回一個結果出來。
手機硬體(感應器)
現在手機越來越強,但變化的主要是硬體上的,軟體上的改變並不多。
硬體上的變化主要是:各種感應器的加持,如最出名的(相機!!)
NFC,藍芽,指紋,溫度感應器,等等。
因為有了這些東西的加入 ,手機的功能也越來越豐富了,可能實現很多傳統電腦很難實現的能力了。
也為軟體設計帶來了很多有意思的思路。
Android 常用的操作
現在的智能手機,帶鍵盤的越來越少,因為手指可操作的能力比鍵盤要強很多,手機可以點,按,雙擊,拖,兩指劃,畫圖,指紋,等等。
因為手指的無限靈活性,也讓Android帶有了各種反饋操作能力 。
如:按下,抬起,移動,都可以給它分配一個反應的動作。
來自為知筆記(Wiz)
Android 基礎概念瞭解