安卓入门教学
Android 是一個開源的,基于 Linux 的移動設備操作系統,主要使用于移動設備,如智能手機和平板電腦。Android 是由谷歌及其他公司帶領的開放手機聯盟開發的。
本教程將教會你基本的 Android 編程,以及學習一些 Android 應用程序開發相關的高級概念。
開始學習 Android
誰適合閱讀本教程?
本教程為初學者準備,幫助其理解基本的 Android 編程。完成本教程以后,你將具備 Android 開發的中等專業知識水平,由此,可以進入下一階段的學習。
你需要具備的知識
Android 編程是基于Java編程語言的,因此,如果你理解 Java 編程,這將利于你更好的學習 Android 應用程序開發。
Android 概述
什么是 Android?
在這里插入圖片描述
android_overview_1
Android 是一個開源的,基于 Linux 的移動設備操作系統,如智能手機和平板電腦。Android 是由谷歌及其他公司帶領的開放手機聯盟開發的。
Android 提供了一個統一的應用程序開發方法,這意味著開發人員只需要為 Android 進行開發,這樣他們的應用程序就能夠運行在不同搭載 Android 的移動設備上。
谷歌在2007年發布了第一個測試版本的 Android 軟件開發工具包(SDK),第一個商業版本的 Android 1.0,則發布于2008年9月。
2012年6月27日,在谷歌I/O大會上,谷歌宣布發布了 Android 版本4.1 Jelly Bean。 Jelly Bean 是一個在功能和性能方面的漸進的更新,主要目的是改進用戶界面,
Android 源代碼是根據自由和開放源碼軟件許可證。谷歌發布的大部分代碼遵循 Apache 許可證2.0版,Linux 內核的變化遵循 GNU 通用公共許可證版本2。
Android 開發優勢
開放源代碼
眾多開發者及強大的社區
不斷增長的市場
國際化的 App 集成
低廉的開發成本
更高的成功幾率
豐富的開發環境
在這里插入圖片描述
Android 的特性
Android 是一款與 Apple 4GS 競爭的功能強大的操作系統,并支持一些偉大的特性。以下列舉出部分功能:
在這里插入圖片描述
Android 應用程序
Android 應用程序一般使用 Android 軟件開發工具包,采用 Java 語言來開發。
一旦開發完成,Android 應用程序可以容易的打包,并在諸如 Google Play 和亞馬遜應用商店上出售。
Android 在世界各地190多個國家有數以百萬計的移動設備。這是任何移動平臺和快速增長的最大的安裝基礎。全球每天有超過100萬個新的 Android 設備被激活。
本教程的寫作目的是教會你如何開發并打包 Android 應用程序。我們將從 Android 應用程序編程環境設置開始,然后深入 Android 應用程序開發的各個方面。
Android 應用程序的類別
市場上有許多 Android 應用。主要類別有:
image
Android 的歷史
Android 的代碼名稱現在從 A 排到了 L,分別是 Aestro, Blender, Cupcake, Donut, Eclair, Froyo, Gingerbread, Honeycomb, Ice Cream Sandwitch, Jelly Bean, KitKat and Lollipop。讓我們按順序了解 Android 的歷史。
紙杯蛋糕 (Cupcake)
甜甜圈 (Donut)
閃電泡芙 (Eclair)
凍酸奶 (Froyo)
姜餅 (Gingerbread)
蜂巢 (Honeycomb)
冰淇淋三明治 (Ice Cream Sandwich)
果凍豆 (Jelly Bean)
奇巧 (KitKat)
棒棒糖 (Lollipop)
??? 1
??? 2
??? 3
??? 4
??? 5
??? 6
??? 7
??? 8
??? 9
??? 10
在這里插入圖片描述
什么是 API 級別?
API 級別是一個用于唯一標識 API 框架版本的整數,由某個版本的 Android 平臺提供。
在這里插入圖片描述
Android 開發環境搭建
在這里插入圖片描述
首先,你可以在以下的操作系統開始 Android 應用程序開發:
??? Microsoft Windows XP 或更高版本。
??? 帶有英特爾芯片的 Mac OS X10.5.8或更高版本。
??? 包括 GNU C 庫2.7或更高版本的 Linux 系統。
第二,開發 Android 應用程序所需的所有工具都是免費的,可以從網上下載。以下是開始開發 Android 應用程序需要用到的軟件列表。
??? Java JDK5 或 以后版本
??? Android SDK
??? Java運行時環境(JRE)
??? Android Studio
??? (可選的)Java開發者使用的Eclipse IDE
??? (可選的)Android開發工具(ADT)Eclipse插件
最后兩個組件是可選的,如果是在 Windows 機器上工作,這些組件將方便于開發基于 Java 的應用程序。因此,讓我們來看看如何來設置所需的環境。
安裝 Java 開發工具包(JDK)
你可以從 Oracle 的 Java 網站:JDKJava SE下載下載最新版本的 Java 。在下載的文件中找到安裝JDK的說明文檔,按照給定的說明來安裝和配置設置。最后設置 PATH 和 JAVA_HOME 環境變量來引用包含 javac 和 java的目錄,通常分別為 java_install_dir/bin 和 java_install_dir。
如果運行的是 Windows,把 JDK 安裝在 C:\jdk1.6.0_15,在 C:\autoexec.bat 文件添加以下內容:
set PATH=C:\jdk1.6.0_15in;%PATH%
set JAVA_HOME=C:\jdk1.6.0_15
??? 1
??? 2
你也可以右鍵單擊"我的電腦",選擇"屬性"=》“高級”=》“環境變量”,然后通過按下"確定"按鈕來更新 PATH 值。
在 Linux 上,如果 SDK 安裝在 /usr/local/jdk1.6.0_15 下,并且使用的是 C shell,把下面的代碼到寫入 .cshrc 文件。
setenv PATH /usr/local/jdk1.6.0_15/bin:$PATH
setenv JAVA_HOME /usr/local/jdk1.6.0_15
??? 1
??? 2
如果你使用集成開發環境 Eclipse,那么它自動知道 Java 已安裝在哪里。
Android 架構
Android 操作系統是一個軟件組件的棧,在架構圖中它大致可以分為五個部分和四個主要層。
在這里插入圖片描述
Linux內核
在所有層的最底下是 Linux - 包括大約115個補丁的 Linux 3.6。它提供了基本的系統功能,比如進程管理,內存管理,設備管理(如攝像頭,鍵盤,顯示器)。同時,內核處理所有 Linux 所擅長的工作,如網絡和大量的設備驅動,從而避免兼容大量外圍硬件接口帶來的不便。
程序庫
在 Linux 內核層的上面是一系列程序庫的集合,包括開源的 Web 瀏覽器引擎 Webkit ,知名的 libc 庫,用于倉庫存儲和應用數據共享的 SQLite 數據庫,用于播放、錄制音視頻的庫,用于網絡安全的 SSL 庫等。
Android程序庫
這個類別包括了專門為 Android 開發的基于 Java 的程序庫。這個類別程序庫的示例包括應用程序框架庫,如用戶界面構建,圖形繪制和數據庫訪問。一些 Android 開發者可用的 Android 核心程序庫總結如下:
android.app - 提供應用程序模型的訪問,是所有 Android 應用程序的基石。
android.content - 方便應用程序之間,應用程序組件之間的內容訪問,發布,消息傳遞。
android.database - 用于訪問內容提供者發布的數據,包含 SQLite 數據庫管理類。
android.opengl - OpenGL ES 3D 圖片渲染 API 的 Java 接口。
android.os - 提供應用程序訪問標注操作系統服務的能力,包括消息,系統服務和進程間通信。
android.text - 在設備顯示上渲染和操作文本。
android.view - 應用程序用戶界面的基礎構建塊。
android.widget - 豐富的預置用戶界面組件集合,包括按鈕,標簽,列表,布局管理,單選按鈕等。
android.webkit - 一系列類的集合,允許為應用程序提供內建的 Web 瀏覽能力。
??? 1
??? 2
??? 3
??? 4
??? 5
??? 6
??? 7
??? 8
??? 9
看過了 Android 運行層內的基于 Java 的核心程序庫,是時候關注一下 Android 軟件棧中的基于 C/C++ 的程序庫。
Android運行時
這是架構中的第三部分,自下而上的第二層。這個部分提供名為 Dalvik 虛擬機的關鍵組件,類似于 Java 虛擬機,但專門為 Android 設計和優化。
Dalvik 虛擬機使得可以在 Java 中使用 Linux 核心功能,如內存管理和多線程。Dalvik 虛擬機使得每一個 Android 應用程序運行在自己獨立的虛擬機進程。
Android 運行時同時提供一系列核心的庫來為 Android 應用程序開發者使用標準的 Java 語言來編寫 Android 應用程序。
應用框架
應用框架層以 Java 類的形式為應用程序提供許多高級的服務。應用程序開發者被允許在應用中使用這些服務。
活動管理者 - 控制應用程序生命周期和活動棧的所有方面。
內容提供者 - 允許應用程序之間發布和分享數據。
資源管理器 - 提供對非代碼嵌入資源的訪問,如字符串,顏色設置和用戶界面布局。
通知管理器 - 允許應用程序顯示對話框或者通知給用戶。
視圖系統 - 一個可擴展的視圖集合,用于創建應用程序用戶界面。
??? 1
??? 2
??? 3
??? 4
??? 5
應用程序
頂層中有所有的 Android 應用程序。你寫的應用程序也將被安裝在這層。這些應用程序包括通訊錄,瀏覽器,游戲等。
Android 應用程序組件
應用程序組件是一個Android應用程序的基本構建塊。這些組件由應用清單文件松耦合的組織。AndroidManifest.xml描述了應用程序的每個組件,以及他們如何交互。
以下是可以在Android應用程序中使用的四個主要組件。
在這里插入圖片描述
Activities
一個活動標識一個具有用戶界面的單一屏幕。舉個例子,一個郵件應用程序可以包含一個活動用于顯示新郵件列表,另一個活動用來編寫郵件,再一個活動來閱讀郵件。當應用程序擁有多余一個活動,其中的一個會被標記為當應用程序啟動的時候顯示。
一個活動是Activity類的一個子類,如下所示:
public class MainActivity extends Activity {
}
??? 1
??? 2
??? 3
Services
服務是運行在后臺,執行長時間操作的組件。舉個例子,服務可以是用戶在使用不同的程序時在后臺播放音樂,或者在活動中通過網絡獲取數據但不阻塞用戶交互。
一個服務是Service類的子類,如下所示:
public class MyService extends Service {
}
??? 1
??? 2
??? 3
Broadcast Receivers
廣播接收器簡單地響應從其他應用程序或者系統發來的廣播消息。舉個例子,應用程序可以發起廣播來讓其他應用程序指導一些數據已經被下載到設備,并且可以供他們使用。因此廣播接收器會攔截這些通信并采取適當的行動。
廣播接收器是BroadcastReceiver類的一個子類,每個消息以Intent對象的形式來廣播。
public class MyReceiver? extends? BroadcastReceiver {
}
??? 1
??? 2
??? 3
Content Providers
內容提供者組件通過請求從一個應用程序到另一個應用程序提供數據。這些請求由ContentResolver類的方法來處理。這些數據可以是存儲在文件系統、數據庫或者其他其他地方。
內容提供者是ContentProvider類的子類,并實現一套標準的API,以便其他應用程序來執行事務。
public class MyContentProvider extends? ContentProvider {
}
??? 1
??? 2
??? 3
我們將在獨立的章節中通過這些標簽的細節來涵蓋應用程序組件。
附件組件
有一些附件的組件用于以上提到的實體、他們之間邏輯、及他們之間連線的構造。這些組件如下:
在這里插入圖片描述
?
總結
- 上一篇: m132nw与m132snw差异_最新评
- 下一篇: 中国人事网发布职业资格证书查询验证公告