亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

全部開發者教程

Android 入門教程

菜單類控件
菜單:Menu
并發編程
多線程
首頁 慕課教程 Android 入門教程 Android 入門教程 Android 系統背景及結構概述

Android 系統背景及結構概述

谷歌 Android 系統

1. Android 的歷史

Android 一詞的本意指“人形機器人”,安迪?魯賓 (Andy Rubin) 在 2003 年以此名創辦了 Android 公司并開始召集團隊研發 Android 系統。后于 2005 年被 Google 收購,安迪?魯賓隨后任 Google 工程部副總裁,繼續負責 Android 項目的研發工作。

安卓系統(Android)是一款基于 Linux 內核的自由開源的操作系統,主要使用于移動設備,如智能手機和平板電腦。 Google 在 2007 年 11 月 5 日正式對外公布的了這款系統,并以“綠色機器人”的形狀作為其 Logo。早期由 Google 開發,后由開放手機聯盟(Open Handset Alliance)負責開發。

2. Android 的層級結構

Android 從系統架構上可分為四層結構,自下而上分別是:

  • Linux 內核
  • 系統運行庫
  • 應用程序框架
  • 應用程序

Android 架構圖

2.1 Linux 內核

這一層是 Android 的核心系統服務,位于 Android 系統的最底層,直接與硬件設備交互。它依賴于 Linux,負責內存管理、進程管理、設備管理、網絡協議棧、安全性和驅動模型等系統級服務。

Linux 內核作為 Android 硬件和軟件之間的抽象層,為了更好的為 Android上層應用服務,Google 基于 Linux 做了一些的定制化的修改,具體的修改內容及原因會在后續的教程中陸續提到。

2.2 系統運行庫

這一層包含兩大塊:系統庫及 Android 運行時。

  • 系統庫
    這一部分其實就是 C/C++ 庫,這些庫在 Android 系統中通常以 so 的形式供不同的組件使用,開發者可以通過自己的應用程序使用這些庫提供的服務。

  • Android 運行時
    Android 采用 Java 作為開發語言,在其運行時中包含了 Java 核心庫的大多數功能,并使每一個 Android 應用程序都在它自己的進程中運行,都擁有一個獨立的 Dalvik 虛擬機實例。Dalvik 可以保證一個設備可以同時高效地運行多個虛擬系統。

2.3 應用程序框架

這一層是會和用戶直接打交道的一層,也是開發者最需要關注的一層。它包含了一系列的服務和系統,其中包括:

  • 豐富而又可擴展的視圖(Views)
  • 內容提供器(Content Providers)
  • 資源管理器(Resource Manager)
  • 通知管理器(Notification Manager)
  • 活動管理器(Activity Manager)

2.4 應用程序

開發者的絕大部分工作都是在這一層完成,通過 Java 編寫的應用程序我們可以使用 Android 系統提供的服務來實現我們預期的功能。

每一個應用程序都對應一個 Dalvik 虛擬機,利用跨平臺性質,基于 Android 框架開發的應用程序可以運行于任何一臺安裝有 Android 系統的平臺。

本教程的大多數內容也是針對這一層,我們將帶領你建立屬于自己的第一個 Android 應用程序,并一步步由淺入深的學習 Android 各個細枝末節,讓你可以更好的掌握 Android 應用程層序開發。

3. Android 各個版本、代號及 API 級別

從 Android 1.5 開始,Google 發型每一個 Android 版本都用一個甜品的名稱作為代號,而代號首字母是從 C 開始以此按照字母順序排列,而直到 19 年發布的 Android Q 開始,Google 棄用了這一傳統,改名為 Android 10。

名稱 版本號 API等級 發布時間 BuildVersion
Q 10.0 29 2019-09 BuildVersionCodes.Q
Pie 9.0 28 2018-08 BuildVersionCodes.P
Oreo 8.1 27 2017-12 BuildVersionCodes.OMr1
Oreo 8.0 26 2017-08 BuildVersionCodes.O
Nougat 7.1 25 2016-12 BuildVersionCodes.NMr1
Nougat 7.0 24 2016-08 BuildVersionCodes.N
Marshmallow 6.0 23 2015-08 BuildVersionCodes.M
Lollipop 5.1 22 2015-03 BuildVersionCodes.LollipopMr1
Lollipop 5.0 21 2014-11 BuildVersionCodes.Lollipop
Kitkat Watch 4.4W 20 2014-06 BuildVersionCodes.KitKatWatch
Kitkat 4.4 19 2013-10 BuildVersionCodes.KitKat
Jelly Bean 4.3 18 2013-07 BuildVersionCodes.JellyBeanMr2
Jelly Bean 4.2-4.2.2 17 2012-11 BuildVersionCodes.JellyBeanMr1
Jelly Bean 4.1-4.1.1 16 2012-06 BuildVersionCodes.JellyBean
Ice Cream Sandwich 4.0.3-4.0.4 15 2011-12 BuildVersionCodes.IceCreamSandwichMr1
Ice Cream Sandwich 4.0-4.0.2 14 2011-10 BuildVersionCodes.IceCreamSandwich
Honeycomb 3.2 13 2011-06 BuildVersionCodes.HoneyCombMr2
Honeycomb 3.1.x 12 2011-05 BuildVersionCodes.HoneyCombMr1
Honeycomb 3.0.x 11 2011-02 BuildVersionCodes.HoneyComb
Gingerbread 2.3.3-2.3.4 10 2011-02 BuildVersionCodes.GingerBreadMr1
Gingerbread 2.3-2.3.2 9 2010-11 BuildVersionCodes.GingerBread
Froyo 2.2.x 8 2010-06 BuildVersionCodes.Froyo
Eclair 2.1.x 7 2010-01 BuildVersionCodes.EclairMr1
Eclair 2.0.1 6 2009-12 BuildVersionCodes.Eclair01
Eclair 2.0 5 2009-11 BuildVersionCodes.Eclair
Donut 1.6 4 2009-09 BuildVersionCodes.Donut
Cupcake 1.5 3 2009-05 BuildVersionCodes.Cupcake
Base 1.1 2 2009-02 BuildVersionCodes.Base11
Base 1.0 1 2008-10 BuildVersionCodes.Base

4. 小結

本節對 Android 系統的背景及結構做了一個簡單的講解,旨在讓大家有一個基本的認識,如果感興趣的話可以查閱相關資料進行深入了解。下一章我們將帶著大家完成開發環境的搭建,這也是進入開發之前的必經之路。