目錄
第一部分 基礎知識
第1章 Android開發入門 3
1 1 Android平臺概述 3
1 1 1 Android平臺的優勢 4
1 1 2 Android平臺的發展史 4
1 1 3 Android平臺的架構和組成 5
1 2 Android開發環境設置 5
1 2 1 安裝Android Studio 6
1 2 2 配置開發環境 7
1 3 創建第一個Android應用 11
1 3 1 創建一個Hello World項目 11
1 3 2 運行Hello World項目 12
1 4 Android應用結構 13
1 4 1 應用結構詳解 14
1 4 2 修改第一個應用程序 15
實訓一 16
實訓二 16
第2章 Kotlin基礎 17
2 1 Kotlin簡介 17
2 1 1 Kotlin起源 18
2 1 2 為何選擇Kotlin 18
2 1 3 Kotlin與Java的對比 19
2 2 數據類型和控制流 20
2 2 1 基本數據類型 20
2 2 2 字符串和數組 22
2 2 3 集合類型 26
2 2 4 控制流 32
2 3 函數、Lambda表達式和高階函數 34
2 3 1 函數定義和調用 34
2 3 2 主函數 36
2 3 3 Lambda表達式和匿名函數 37
2 3 4 高階函數 39
2 3 5 內聯函數 41
2 4 面向對象編程 42
2 4 1 類和對象 42
2 4 2 繼承、多態和接口 44
2 4 3 數據類 46
2 5 高級特性 47
2 5 1 擴展函數和屬性 47
2 5 2 泛型和集合操作 49
2 6 協程 50
2 6 1 協程的概念和優勢 50
2 6 2 協程構造器:launch和async 51
2 6 3 掛起函數 52
2 6 4 協程上下文和調度器 53
2 6 5 協程作用域 54
2 7 類型檢查與轉換 55
2 7 1 is和as操作符 55
2 7 2 類型檢查與轉換的使用場景 56
2 8 可見性修飾符和委託 57
2 8 1 可見性修飾符 57
2 8 2 委託 59
2 9 空安全性 59
2 9 1 空安全性的基本概念 60
2 9 2 使用場景舉例 60
實訓一 62
實訓二 62
第3章 Android UI設計 63
3 1 佈局基礎 63
3 1 1 可組合函數簡介 64
3 1 2 基礎佈局組件 65
3 1 3 佈局修飾符 70
3 2 Compose控件與交互 72
3 2 1 可組合函數的交互性 72
3 2 2 用戶輸入處理與狀態管理 74
3 2 3 高級控件與交互式組件 76
3 3 Compose動畫與圖形 78
3 3 1 動畫基礎與類型 78
3 3 2 圖形與自定義繪製 79
3 4 Material Design3與主題定制 81
3 4 1 應用Material Design3組件 81
3 4 2 主題與動態配色 89
3 4 3 自定義控件與複雜UI 91
實訓一 95
實訓二 95
第二部分 Android與AI實踐
第三部分 發佈與高級技巧
附錄A Android開發工具和資源 196
附錄B 國際化和本地化 197
附錄C 真機預覽及調試 199
第一部分 基礎知識
第1章 Android開發入門
第2章 Kotlin基礎
第3章 Android UI設計
第1章 Android開發入門
知識目標
(1)瞭解Android平臺的發展史及優勢。
(2)熟悉Android平臺的架構和組成部分。
(3)熟悉Android應用項目結構。
技能目標
(1)能夠安裝配置Android平臺IDE及開發環境。
(2)能夠使用AndroidStudio創建一個簡單項目。
思維導圖
1 1 Android平臺概述
Android是全球最流行的移動操作系統之一,由谷歌公司開發。它基於Linux內核,設
計之初就是為了觸摸屏移動設備如智能手機和平板電腦等。如今,Android平臺的應用場
景已經非常廣泛 覆蓋了各個領域和行業。現在的Android不僅可以運行在智能手機和平
板電腦上,還可以運行在智能手錶電視、汽車、眼鏡等設備上形成了一個龐大的生態系統。
Android的優勢在於它的開放性靈活性和多樣性,可以讓開發者和用戶根據自己的需
求和喜好定制和創新。
1 1 1 Android平臺的優勢
Android平臺的優勢有如下5方面。
1 開放的源代碼
Android平臺的一個關鍵優勢在於其開放源代碼的特性。這意味著任何人都可以查看
Android的代碼,可以修改它,並分發自己的版本。這種開放性鼓勵了廣泛的技術創新和快
速的應用開發,因為開發者可以直接訪問操作系統的底層代碼,這對於創建具有高度定制化
功能的應用程序至關重要。
2 開放的應用商店
隨著Android的普及,Google Play商店已經成為全球最大的應用商店之一,提供數百
萬款應用和遊戲。此外,Android的開放性也允許其他公司和組織運營自己的應用商店,如
小米手機的應用商店和華為手機的應用商店等,這為用戶提供了更多的選擇和靈活性。
3 多樣化的硬件生態系統
Android支持廣泛的硬件設備,從高端智能手機到經濟型設備,以及各種尺寸和形式的
平板電腦。這種多樣性不僅讓更多的消費者能夠根據自己的預算和需求選擇設備,也為開
發者提供了在各種設備」上創造出色應用體驗的機會。
4 加強的安全和隱私
儘管Android面臨著來自惡意軟件和隱私洩露的挑戰,谷歌公司一直在不斷加強安全
措施,如定期的安全更新和改進Google Play Protect,這是一種在設備上自動運行的服務,
可以幫助保護設備免受惡意應用的影響。Android 10及更高版本引入了更多的隱私和安
全特性,如對應用訪問設備位置信息的更嚴格控制。
5 AI和機器學習的集成
Android系統集成了AI和機器學習的能力 讓開發者能夠創建更智能、更個性化的應
用體驗。谷歌公司為開發者提供了多種工具和API,如TensorFlow Lite和ML Kit,這些工
具可以輕鬆地在Android應用中實現機器學習功能,從而提供更加豐富和個性化的用戶體
驗。本書的重點在於學習Android開發與已發佈第三方企業研發的AI能力相結合。
1 1 2 Android平臺的發展史
Android平臺的誕生可以追溯到2003年,當時一家名為Android的公司開始開發一個
基於Linux的智能手機操作系統。2005年,谷歌公司收購了Android公司,並將其作為穀
歌移動業務的核心部分。2007年,谷歌公司與其他手機製造商運營商和芯片廠商組成了
開放手機聯盟(Open Handset Alliance),宣佈推出Android平臺,作為一個開放的免費的、
基於標準的移動軟件平臺。2008年,第一款搭載Android系統的手機HTC Dream(又稱
T-Mobile Gl)在美國上市,開啟了Android平臺的商業化之路。
自此之後,Android平臺經歷了多個版本的更新和迭代,每個版本都以甜品的名字命
名,按照字母順序排列,從Android 1 5 Cupcake到2023年10月4日發佈的Android 14
Pie。每個版本都帶來了新的功能和改進,例如多點觸控、語音搜索、通知欄、虛擬鍵盤、
NFC、多用戶模式、安全性增強、性能優化人工智能等。Android平臺也不斷擴展到其他設
備和領域,例如Android Wear(智能手錶)、Android TV(電視)、Android Auto(汽車)、
Android Things(物聯網)、Android Go(低端設備)等。
Android平臺的未來發展方向是繼續提升用戶體驗、安全性和隱私保護、性能和穩定
性、兼容性和可持續性等方面。截至2024年12月,Android系統的最新版本是Android 15,它
於2024年9月發佈,代號為Vanilla Ice Cream(香草冰淇淋)。Android 15帶來了多項升級
和優化,不再支持32位應用,而全面擁抱64位應用時代,在用戶界面,智能通知管理、隱私
與安全、多任務處理、人工智能與機器學習、屏幕錄製、衛星通信等方面均有提升,為用戶提
供更加流暢和智能的使用體驗。
1 1 3 Android平臺的架構和組成
Android平臺的架構是一個分層的結構,由四個主要層次組成,分別是應用層、應用框
架層、系統運行庫層和Linux內核層。每一層都提供了一些特定的功能和服務,供上層或同
層使用。下面簡要介紹每一層的主要作用。
1 應用層
Android平臺最上層,也是用戶最直接接觸的層次。應用層包含各種用戶安裝或預裝
的應用程序,例如電話、短信、瀏覽器、地圖、相機、遊戲等。應用程序可以使用Java、Kotlin、
C++等語言編寫,也可以使用Flutter,React Native等跨平臺框架開發。應用程序可以通過
應用框架層提供的API訪問系統的功能和資源,也可以通過Intent機制與其他應用程序交互。
2 應用框架層
Android平臺的核心層,提供了一套豐富的API,供應用層使用。應用框架層包含各種
系統服務和管理器,例如窗口管理器、活動管理器、內容提供器、視圖系統、通知管理器、包管
理器、電源管理器等。這些服務和管理器負責管理應用程序的生命週期,窗口和視圖的顯
示、數據的存儲和訪問、通知的發送和接收,應用程序的安裝和卸載,電量的節 省和優化等。
3 系統運行庫層
Android平臺的底層,提供了一些基礎的功能和組件,供上層使用。系統運行庫層包含
了各種運行環境、庫和驅動,例如ART(Android Runtime),Dalvik虛擬機、Bionic C庫、
OpenGL ES,Media Framework,SQLite,WebKit等。這些運行環境、庫和驅動負責支持應
用程序的運行,提供圖形、音視頻、數據庫、網絡等功能,與硬件設備進行通信等。
4 Linux內核層
Android平臺的最底層,提供了操作系統的基本功能,如進程管理、內存管理、文件系
統、網絡協議棧、安全機制等。Linux內核層也包含各種硬件抽象層(HAL)用於屏蔽不同
硬件設備的差異,提供統一的接口,供上層使用。Linux內核層是Android平臺的基石,為
整個系統提供穩定性和可靠性。
前言/序言
隨著人工智能技術的飛速發展,其在移動應用領域的應用也日益廣泛。作為全球最大的移動操作系統,Android平臺以其開放性和靈活性成為人工智能技術的重要舞臺。Kotlin作為一種簡潔、安全、功能強大的語言,與Android平臺完美契,為開發者提供了更高效、更靈活的開發體驗。
本書旨在引導讀者探索如何利用Kotlin這一現代化的編程語言,結合AI開放平臺開發出創新的AndroidAI應用。
本書分為基礎知識、Android與AI實踐