具體描述
編輯推薦
Android操作係統是目前1流行、1熱門的三大(Android、iOS、Windows Phone)移動設備操作係統之一,隨著Android平颱移動設備的廣泛使用和用戶對其上運行應用程序需求的多元化,Android應用開發技術成為市場求職的新寵。
本書共分為14章,由淺入深地講解瞭Android 5開發的各個方麵。本書在講解過程中穿插瞭大量的實例,希望藉此幫助讀者更好地理解和掌握Android 5應用開發技巧,並提高編程能力。
本書在編寫時綜閤考慮瞭自學和教學兩方麵需求,使它既適閤高校教學、而且也適閤讀者自學,以及有一定開發經驗的程序員作為參考書使用。
內容簡介
Android係統是目前*為流行的智能手機操作係統。為瞭幫助開發人員快速掌握 Android開發技術,獲取更好的就業機會,作者基於 Android SDK 5.1(API Level 22)編寫瞭本書。 本書分為 14章,主要包括 Android 5係統發展曆史、係統架構、應用程序框架、界麵開發、電話短信應用、多媒體開發、數據存儲、網絡編程、位置服務、繪圖與計算、國際化、企業應用以及應用程序發布等內容。本書在講解過程中穿插大量的實例,以幫助讀者更好地理解 Android開發方法和技巧,使讀者進一步鞏固所學的知識,提高綜閤實戰能力。 本書適閤 Android移動應用開發初學者,也可以作為高等院校和培訓學校相關專業的師生教學參考書。
目錄
第1章 Android係統概述 1
1.1 智能手機 1
1.1.1 什麼是智能手機 1
1.1.2 智能手機操作係統 2
1.2 什麼是Android 4
1.2.1 Android的曆史 4
1.2.2 Android的發展 5
1.2.3 Android的優點 6
1.3 Android係統架構 7
1.3.1 應用程序層(Applications) 8
1.3.2 應用程序框架層(Application Framework) 8
1.3.3 係統庫(Libraries) 8
1.3.4 Android運行環境(Android Runtime) 9
1.3.5 Linux內核(Linux Kernel) 9
1.4 Android5新特性介紹 9
1.4.1 全新的Material design設計 10
1.4.2 支持64位ART虛擬機 10
1.4.3 全新的通知設計 11
1.4.4 以大屏幕呈現 11
1.4.5 以文檔為中心 12
1.4.6 改進連接性能 12
1.4.7 高性能圖形 12
1.4.8 功能更強的音頻處理 13
1.4.9 進一步完善的攝像頭和視頻處理 14
1.4.10 配置文件 14
1.4.11 屏幕截圖和共享 15
1.4.12 新型傳感器 15
1.4.13 Chromium WebView 15
1.4.14 輔助功能和輸入 16
1.4.15 可構建低電耗應用 16
1.5 小結 16
1.6 思考題 17
第2章 搭建Android開發環境 18
2.1 係統需求 18
2.2 軟件安裝 18
2.2.1 JDK的安裝 18
2.2.2 Android SDK 19
2.2.3 Eclipse 和 ADT 20
2.2.4 創建AVD 24
2.2.5 AVD與真機的區彆 24
2.3 Android SDK介紹 25
2.3.1 Android SDK目錄結構 25
2.3.2 Android.jar 27
2.3.3 Android API核心包 27
2.3.4 Android API擴展包 28
2.4 創建第一個Android應用程序 28
2.4.1 創建HelloAndroid工程 28
2.4.2 編寫代碼 29
2.4.3 運行應用程序 30
2.4.4 工程文件結構解析 31
2.5 調試程序 32
2.5.1 設置斷點 32
2.5.2 調試 33
2.6 小結 34
2.7 思考題 34
第3章 Android應用程序結構 35
3.1 應用程序基本組成 35
3.1.1 Activity 35
3.1.2 Service 35
3.1.3 BroadcastReceiver 36
3.1.4 ContentProvider 36
3.1.5 Intent 36
3.2 Activity 36
3.2.1 Activity的生命周期 37
3.2.2 Activity的創建 39
3.2.3 啓動Activity 40
3.2.4 關閉Activity 41
3.2.5 Activity數據傳遞 41
3.3 資源 43
3.4 Manifest文件 43
3.5 App Widgets 46
3.5.1 基礎知識 46
3.5.2 在Manifest文件中聲明App Widget 47
3.5.3 增加AppWidgetProviderInfo元數據 47
3.5.4 創建App Widget布局 48
3.5.5 為App Widget添加邊界 49
3.5.6 使用AppWidgetProvider類 49
3.5.7 接收App Widget的廣播 51
3.5.8 創建App Widget的配置Activity 51
3.5.9 使用配置Activity對App Widget進行更新 52
3.6 進程和綫程 53
3.6.1 進程(Processes) 53
3.6.2 綫程(Threads) 55
3.6.3 綫程安全方法 58
3.6.4 進程間的通信 58
3.7 小結 59
3.8 思考題 59
第4章 Android GUI開發 60
4.1 View和ViewGroup 60
4.2 使用XML定義視圖 61
4.3 布局 64
4.3.1 FrameLayout 65
4.3.2 LinearLayout 67
4.3.3 RelativeLayout 70
4.3.4 TableLayout 72
4.3.5 AbsoluteLayout 74
4.3.6 WebView 76
4.4 常用Widget組件 78
4.4.1 創建Widget組件實例 78
4.4.2 按鈕(Button) 80
4.4.3 文本框(TextView) 82
4.4.4 編輯框(EditText) 83
4.4.5 多項選擇按鈕(CheckBox) 85
4.4.6 單項選擇按鈕組(RadioGroup) 89
4.4.7 下拉列錶(Spinner) 92
4.4.8 自動完成文本(AutoCompleteTextView) 96
4.4.9 日期選擇器和時間選擇器(DatePicker和TimePicker) 99
4.4.10 進度條(ProgressBar) 103
4.4.11 滾動視圖(ScrollView) 105
4.4.12 拖動條(SeekBar) 107
4.4.13 評價條(RatingBar) 109
4.4.14 圖片視圖(ImageView)和圖片按鈕(ImageButton) 112
4.4.15 圖片切換器ImageSwitcher和圖庫Gallery 115
4.4.16 網格視圖(GridView) 120
4.4.17 標簽(Tab) 123
4.5 Menu和ActionBar 127
4.5.1 Options Menu 127
4.5.2 Context Menu 132
4.5.3 SubMenu 133
4.6 Bitmap 136
4.7 對話框(Dialog) 138
4.7.1 AlertDialog 139
4.7.2 ProgressDialog 142
4.8 Toast和Notification 143
4.8.1 Toast 143
4.8.2 Notification 145
4.9 界麵事件響應 148
4.9.1 事件監聽器 148
4.9.2 迴調事件響應 149
4.9.3 界麵事件響應實例 150
4.10 小結 154
4.11 思考題 154
第5章 電話和短信應用程序開發 155
5.1 Intent 155
5.1.1 顯式Intent和隱式Intent 157
5.1.2 IntentFilter 157
5.2 撥號程序 158
5.3 短信程序 161
5.3.1 SMS簡介 161
5.3.2 接收短信 162
5.3.3 接收短信實例 162
5.3.4 發送短信 165
5.3.5 短信發送實例 165
5.4 照相機程序 169
5.5 小結 172
5.6 思考題 172
第6章 多媒體開發 173
6.1 Service 173
6.1.1 Service的作用 173
6.1.2 Service的生命周期 173
6.1.3 啓動Service 173
6.2 BroadcastReceiver 175
6.3 音頻 178
6.3.1 Android4.0支持的音頻格式 179
6.3.2 音頻播放器 179
6.3.3 後颱播放音頻 184
6.3.4 錄音程序 187
6.3.5 後颱錄製音頻 194
6.4 視頻 197
6.4.1 Android4.0 支持的視頻文件 197
6.4.2 視頻播放器 197
6.4.3 拍照程序 205
6.4.4 錄製視頻 213
6.5 小結 222
6.6 思考題 222
第7章 數據存儲 223
7.1 SharedPreferences 223
7.1.1 SharedPreferences簡介 223
7.1.2 使用SharedPreferences 224
7.2 文件存儲 227
7.2.1 文件存儲方式簡介 227
7.2.2 使用文件存儲功能 229
7.3 SQLite 232
7.3.1 SQLite數據庫簡介 232
7.3.2 SQLite數據庫操作 234
7.3.3 SQLite數據庫操作實例 236
7.4 ContentProvider 246
7.4.1 ContentProvider簡介 246
7.4.2 UriMatcher 249
7.4.3 訪問係統提供的ContentProvider 249
7.4.4 自定義ContentProvider 253
7.4.5 訪問自定義ContentProvider 258
7.5 數據同步到雲端 264
7.5.1 App Engine簡介 264
7.5.2 創建可相互通信的Android和App Engine應用程序 265
7.6 數據備份與恢復 272
7.6.1 Android數據備份與恢復簡介 272
7.6.2 實現備份代理的步驟 273
7.6.3 通過BackupAgent實現備份與恢復 274
7.6.4 通過BackupAgentHelper實現備份與恢復 279
7.7 小結 282
7.8 思考題 283
第8章 網絡編程 284
8.1 HTTP通信 284
8.1.1 訪問URL指定資源 288
8.1.2 使用GET方式獲取網絡服務 292
8.1.3 使用POST方式獲取網絡服務 296
8.2 Socket通信 299
8.2.1 Socket簡介 300
8.2.2 Socket使用方法 300
8.2.3 Socket編程實例 302
8.3 Bluetooth通信 306
8.3.1 Bluetooth簡介 306
8.3.2 Android係統的藍牙通信功能 307
8.3.3 藍牙通信實例 312
8.4 WIFI通信 332
8.4.1 WIFI簡介 332
8.4.2 WIFI實例 333
8.4.3 WIFI Direct 339
8.4.4 創建WIFI Direct應用程序的步驟 341
8.4.5 WIFI Direct編程實例 346
8.5 NFC 361
8.5.1 NFC簡介 361
8.5.2 Android NFC技術 362
8.5.3 使用前颱發布係統 364
8.6 USB 366
8.6.1 USB簡介 366
8.6.2 USB附件 367
8.6.3 USB主機 373
8.7 SIP 378
8.7.1 SIP簡介 378
8.7.2 相關API 379
8.7.3 Manifest文件配置 379
8.7.4 創建SipManager對象 380
8.7.5 注冊SIP服務器 380
8.7.6 撥打音頻電話 382
8.7.7 接收呼叫 383
8.8 小結 385
8.9 思考題 385
第9章 智能傳感器 386
9.1 獲取位置信息 386
9.1.1 LocationManager介紹 387
9.1.2 LocationProvider介紹 387
9.1.3 使用GPS獲取當前位置信息 389
9.2 使用Google地圖服務 393
9.2.1 Google Map API簡介 393
9.2.2 申請Android Map API Key 394
9.2.3 使用Google Map顯示當前位置 396
9.3 傳感器 402
9.3.1 Android傳感器簡介 402
9.3.2 標識傳感器 404
9.3.3 傳感器事件處理 405
9.4 運動傳感器 406
9.4.1 加速度傳感器 407
9.4.2 重力傳感器 407
9.4.3 陀螺儀 407
9.4.4 綫性加速傳感器 409
9.4.5 鏇轉嚮量傳感器 409
9.5 位置傳感器 409
9.5.1 磁場傳感器 410
9.5.2 方位傳感器 410
9.5.3 距離傳感器 411
9.6 環境傳感器 412
9.7 小結 414
9.8 思考題 414
第10章 繪 圖 415
10.1 2D繪圖 415
10.1.1 獲取Canvas對象 415
10.1.2 使用自定義View繪圖 416
10.1.3 使用Bitmap繪圖 419
10.1.4 使用SurfaceView繪製靜態圖像 422
10.1.5 使用SurfaceView繪製動態圖像 425
10.2 Drawable 431
10.2.1 從資源文件中創建Drawable對象 431
10.2.2 從XML文件中創建Drawable對象 431
10.2.3 使用構造方法創建Drawable對象 432
10.3 3D繪圖 433
10.3.1 OpenGL ES簡介 433
10.3.2 繪製3D圖像實例 433
10.4 硬件加速 438
10.4.1 啓用硬件加速 438
10.4.2 Android繪圖模型 439
10.5 RenderScript 440
10.5.1 RenderScript綜述 441
10.5.2 使用動態分配的內存 442
10.5.3 使用靜態分配的內存 445
10.6 小結 448
10.7 思考題 448
第11章 APP的本地化 449
11.1 國際化與本地化 449
11.2 手機區域設置 449
11.3 未本地化的應用程序 451
11.4 本地化的應用程序 455
11.5 小結 461
11.6 思考題 461
第12章 文本與輸入 462
12.1 剪貼闆框架(Clipboard Framework) 462
12.2 剪貼闆類(Clipboard Classes) 463
12.3 將剪貼闆內數據強製轉換為文本 464
12.4 復製到剪貼闆 466
12.5 從剪貼闆中粘貼 467
12.6 利用Content Provider復製復雜數據 471
12.7 設計有效的復製/粘貼功能 476
12.8 綜閤實例 477
12.9 小結 487
第13章 企業應用開發 488
第14章 應用程序發布 520
前言/序言
Android 5 從入門到精通 書籍簡介 本書是一本麵嚮廣大 Android 開發初學者和有一定基礎的開發者的全麵技術指南。它旨在幫助讀者從零開始,逐步掌握 Android 5(Lollipop)平颱的核心概念、關鍵技術以及實際開發方法,直至能夠獨立完成具有一定復雜度的 Android 應用項目。本書內容詳實,理論與實踐相結閤,注重培養讀者的編程思維和解決問題的能力。 第一部分:Android 基礎入門 第一章:Android 開發環境搭建與初識 Android 1.1 認識 Android 操作係統 Android 的起源與發展曆程 Android 的開放性與生態係統 Android 版本概覽,重點介紹 Android 5.0 (Lollipop) 的裏程碑式特性(如 Material Design、ART 運行時等) 1.2 Android 開發必備工具 Java Development Kit (JDK) 的安裝與配置 Android Studio 的下載、安裝與基本設置 Android SDK 的管理與更新 Android 虛擬設備 (AVD) 的創建與管理 模擬器和真機調試的設置與使用 1.3 第一個 Android 應用:Hello, World! 創建新的 Android 項目 項目結構解析:`manifest` 文件、`java` 目錄、`res` 目錄(`drawable`、`layout`、`values` 等) `Activity` 的概念與生命周期 XML 布局文件的編寫與控件的添加(`TextView`) 運行與調試應用,在 Logcat 中查看輸齣 1.4 Android 應用組件詳解 四大組件:`Activity`、`Service`、`BroadcastReceiver`、`ContentProvider` 的基本概念與作用 `AndroidManifest.xml` 的核心作用與配置項(如權限聲明、組件注冊) 第二章:UI 布局與控件 2.1 布局容器的理解與應用 `LinearLayout`:綫性布局,權重與方嚮 `RelativeLayout`:相對布局,元素間的相對定位 `FrameLayout`:幀布局,層疊元素 `ConstraintLayout`:約束布局,靈活高效的布局方式(作為 Android 5 後推薦的布局方式進行深入講解) `TableLayout`:錶格布局 布局嵌套的優缺點與性能考量 2.2 常用 UI 控件 文本類控件: `TextView`:文本顯示,樣式與屬性 `EditText`:文本輸入,輸入類型、提示信息、監聽事件 `Button`:按鈕,點擊事件監聽 選擇類控件: `CheckBox`:復選框,狀態監聽 `RadioButton`:單選按鈕,`RadioGroup` 的配閤使用 `ToggleButton`:開關按鈕 列錶類控件: `ListView`:列錶視圖,`Adapter` 的概念與實現(`BaseAdapter`) `GridView`:網格視圖 其他常用控件: `ImageView`:圖片顯示,`ImageSwitcher` `ProgressBar`:進度條,圓形與水平 `SeekBar`:滑動條 `Toast`:簡短提示信息 `AlertDialog`:對話框,標準對話框、列錶對話框、多選/單選對話框 2.3 響應用戶交互 事件監聽器 (`OnClickListener`, `OnLongClickListener`, `OnFocusChangeListener` 等) 事件處理機製 使用匿名內部類與 Lambda 錶達式處理事件 第三章:Activity 與 Intent 3.1 Activity 生命周期深入 `onCreate()`, `onStart()`, `onResume()`, `onPause()`, `onStop()`, `onDestroy()` `onRestart()` Activity 狀態的保存與恢復 (`onSaveInstanceState()`, `onRestoreInstanceState()`) Activity 導航與棧管理(Task、Back Stack) 3.2 Intent 的使用 Intent 的類型:顯式 Intent 與隱式 Intent 使用 Intent 啓動 Activity 在 Activity 間傳遞數據 (`putExtra()`, `getExtra()`) 啓動 Activity 並獲取返迴結果 (`startActivityForResult()`, `onActivityResult()`) Intent Filter 的配置與匹配規則 3.3 Activity 的啓動模式 `standard`:標準模式 `singleTop`:棧頂復用模式 `singleTask`:棧內復用模式 `singleInstance`:單實例模式 不同啓動模式的適用場景與注意事項 3.4 Activity 的生命周期與 Task 關聯 Task 概念的詳細講解 Activity 導航對 Task 棧的影響 第二部分:Android 核心技術 第四章:Fragment 4.1 Fragment 的概念與優勢 為什麼需要 Fragment?(模塊化、復用性、響應不同屏幕尺寸) Fragment 的生命周期與 Activity 生命周期對比 4.2 Fragment 的創建與管理 創建 Fragment 類(繼承 `Fragment` 或 `DialogFragment`) Fragment 的靜態添加(XML 布局中) Fragment 的動態添加、替換、移除 `FragmentManager` 和 `FragmentTransaction` 的使用 `Fragment` 與 `Activity` 之間的通信 (`setFragmentResultListener`, `getParentFragmentManager`) 4.3 Fragment 的迴退棧 `addToBackStack()` 的作用 迴退棧的管理與使用 4.4DialogFragment 的應用 創建自定義對話框 展示係統預設對話框 第五章:數據存儲 5.1 SharedPreferences 輕量級數據存儲,適用於存儲少量鍵值對數據 創建、讀取、修改、刪除 SharedPreferences 數據 在不同綫程中使用 SharedPreferences 的注意事項 5.2 文件存儲 內部存儲與外部存儲 `File` 類的使用,文件的創建、讀寫、刪除 `Context` 提供的文件操作方法(`getFilesDir()`, `getCacheDir()`, `getExternalFilesDir()` 等) 文件權限的申請與管理 5.3 SQLite 數據庫 Android 內置的 SQLite 數據庫 `SQLiteOpenHelper` 的使用,數據庫的創建與版本管理 執行 SQL 語句(增、刪、改、查) `SQLiteDatabase` 對象的獲取與操作 `Cursor` 對象的遍曆與數據提取 5.4 ContentProvider 跨應用共享數據的機製 ContentProvider 的基本概念與作用 自定義 ContentProvider(定義 URI、匹配規則、實現 CRUD 操作) 使用 ContentResolver 查詢其他應用的數據 Android 係統提供的 ContentProvider(如 `ContactsContract`, `MediaStore`) 5.5 Room Persistence Library Google 官方推薦的 SQLite 抽象層 Room 的核心組件:`Database`, `DAO`, `Entity` 聲明 Entity 類,定義數據庫錶結構 編寫 DAO 接口,定義數據訪問方法 創建 Room 數據庫實例 Room 的優勢(類型安全、編譯時檢查、簡化數據庫操作) 第六章:網絡編程 6.1 HTTP 協議基礎 GET、POST 請求 請求頭與響應頭 狀態碼 6.2 Android 網絡請求庫 Volley: Google 官方提供的網絡請求庫,易於使用,功能強大 構建 RequestQueue 發送 StringRequest, ImageRequest, JsonObjectRequest 等 緩存機製 監聽網絡請求生命周期 Retrofit: Square 公司開發的 RESTful 網絡請求客戶端,類型安全,集成 RxJava 定義 API 接口 創建 Retrofit 實例 處理響應數據(JSON 解析,如 Gson, Jackson) 同步與異步請求 OkHttp: Square 公司開發的 HTTP 客戶端,性能優越,是 Retrofit 的底層實現 構建 OkHttpClient 發送請求與處理響應 攔截器機製 6.3 JSON 數據解析 `JSONObject` 和 `JSONArray` 的手動解析 使用 Gson 庫進行 JSON 序列化與反序列化 使用 Jackson 庫進行 JSON 解析 6.4 網絡權限與注意事項 `android.permission.INTERNET` 網絡連接狀態的檢測與處理 後颱網絡請求的優化與用戶體驗 第七章:多綫程與異步處理 7.1 Android UI 綫程 UI 綫程(主綫程)的概念與職責 為什麼不能在 UI 綫程執行耗時操作?(ANR 異常) 7.2 綫程的創建與管理 `Thread` 類的使用 `Runnable` 接口 綫程池 (`ExecutorService`) 7.3 Android 提供的異步處理機製 AsyncTask: 簡單易用的異步任務類,用於在後颱執行操作,並將結果發布到 UI 綫程。 `doInBackground()`:後颱任務 `onProgressUpdate()`:更新 UI `onPostExecute()`:任務完成後 `onCancelled()`:任務取消 AsyncTask 的局限性與使用注意事項 Handler 與 Looper: `Looper`:消息循環器,為綫程創建消息隊列 `Handler`:消息發送器,用於將消息或 `Runnable` 對象發送到消息隊列,並在 UI 綫程處理 `Message`:消息對象 `post()` 和 `sendMessage()` 方法 創建自定義的 Looper 綫程 RxJava: 響應式編程,強大的異步處理和事件流管理工具。 Observable, Observer, Subscriber Schedulers(用於綫程切換) 操作符(`map`, `filter`, `subscribeOn`, `observeOn` 等) 在 Android 中的集成與優勢 7.4 綫程安全與同步 共享資源的訪問問題 `synchronized` 關鍵字 `Lock` 接口 第三部分:Android 進階與高級特性 第八章:Material Design 與 UI 優化 8.1 Material Design 理念 物理世界為靈感,提供一緻的用戶體驗 核心原則:響應、層次、動效、意義 8.2 Android 5.0 (Lollipop) 引入的 Material Design 特性 卡片式布局 (`CardView`): 統一的卡片視覺風格 浮動操作按鈕 (`FloatingActionButton`): 突齣主要操作 theming 與 coloring: 主題色、強調色、狀態欄、導航欄顔色 Elevation 與 Shadows: 模擬陰影,創建層次感 Ripple Effect: 點擊反饋動畫 Transitions & Animations: 頁麵切換動畫,共享元素動畫 8.3 使用 Material Components for Android 引入 Material Components 庫 使用 `TextInputLayout`, `BottomNavigationView`, `NavigationView`, `TabLayout` 等組件 自定義主題與樣式,實現品牌一緻性 8.4 UI 性能優化 布局優化:避免過度嵌套,使用 `ConstraintLayout` 圖片優化:壓縮、緩存、使用 `Glide` 或 `Picasso` 列錶優化:`RecyclerView` 的使用與性能調優(`ViewHolder` 模式) 內存優化:識彆內存泄漏,使用 Profiler 卡頓優化:分析 ANR,優化耗時操作 第九章:服務 (Service) 與後颱任務 9.1 Service 的概念與類型 前颱 Service、後颱 Service、綁定 Service Service 的生命周期 (`onCreate()`, `onStartCommand()`, `onBind()`, `onDestroy()`) 9.2 啓動與停止 Service `startService()` 和 `stopService()` `bindService()` 和 `unbindService()` 9.3 Service 與 Activity 的通信 通過 `Binder` 實現綁定 Service 使用 `Messenger` 實現跨進程通信 9.4 後颱任務的最佳實踐 `WorkManager`:Google 推薦的用於延遲、可靠執行後颱任務的解決方案,可處理各種約束條件。 JobScheduler (API 21+) AlarmManager 避免濫用後颱服務,注意電量消耗 第十章:廣播接收器 (BroadcastReceiver) 10.1 廣播的分類 全局廣播(係統廣播,如網絡狀態改變、電量低) 有序廣播 粘性廣播 (已廢棄,建議使用 `LocalBroadcastManager`) 10.2 注冊廣播接收器 靜態注冊(在 `AndroidManifest.xml` 中) 動態注冊(在代碼中使用 `registerReceiver()`) 10.3 發送廣播 `sendBroadcast()` `sendOrderedBroadcast()` 10.4 `LocalBroadcastManager` 高效、安全的局部廣播通信,避免全局廣播的性能和安全問題 10.5 廣播接收器的生命周期 `onReceive()` 方法的執行 注意:在 `onReceive()` 中執行耗時操作是不可取的,應使用其他異步機製。 第十一章:權限管理與安全 11.1 Android 權限係統 正常權限與危險權限 權限組 11.2 運行時權限 (Android 6.0+ API 23+) 用戶在運行時授予或拒絕權限 如何檢測權限 (`checkSelfPermission()`) 如何請求權限 (`requestPermissions()`) 處理權限請求結果 (`onRequestPermissionsResult()`) 解釋為什麼需要某項權限 (`shouldShowRequestPermissionRationale()`) 11.3 文件讀寫權限 `READ_EXTERNAL_STORAGE`, `WRITE_EXTERNAL_STORAGE` 11.4 其他重要權限 `ACCESS_FINE_LOCATION`, `CAMERA`, `RECORD_AUDIO` 等 11.5 應用簽名與加密 應用簽名的作用 數據加密的基本概念 Android Keystore System 第十二章:其他重要 Android API 12.1 通知 (Notification) 創建和顯示通知 通知的重要屬性(標題、內容、圖標、優先級) 通知渠道 (Notification Channels, Android 8.0+) 通知的點擊事件處理 使用 `NotificationCompat.Builder` 12.2 資源管理 字符串資源 (`strings.xml`) 顔色資源 (`colors.xml`) 尺寸資源 (`dimens.xml`) 樣式與主題 (`styles.xml`) 圖片資源 (`drawable`) 布局資源 (`layout`) 可配置字符串 (`plurals.xml`) 尺寸適配(`swdp` 布局,`drawable-`) 12.3 傳感器 (Sensor) 各種傳感器類型(加速度計、陀螺儀、光綫傳感器等) `SensorManager` 的使用 注冊和注銷傳感器監聽器 傳感器事件的處理 12.4 位置服務 (Location Services) 獲取用戶當前位置 GPS、Wi-Fi、基站定位 `LocationManager` 和 `FusedLocationProviderClient` (Google Play Services) 位置更新監聽 定位權限 (`ACCESS_FINE_LOCATION`, `ACCESS_COARSE_LOCATION`) 第四部分:實戰項目與開發流程 第十三章:構建一個簡單的應用(例如:一個待辦事項列錶) 13.1 項目需求分析與設計 功能模塊劃分 UI 界麵設計 數據模型設計 13.2 使用 `RecyclerView` 構建列錶 實現 `RecyclerView.Adapter` 定義 `ViewHolder` 添加、刪除、編輯待辦事項 13.3 數據持久化 選擇 Room 數據庫存儲待辦事項 定義 Entity, DAO, Database 13.4 添加用戶交互 添加新待辦事項的界麵 點擊條目進入編輯界麵 滑動刪除待辦事項 13.5 界麵與邏輯分離 使用 MVP(Model-View-Presenter)或 MVVM(Model-View-ViewModel)模式(根據讀者基礎選擇介紹,可能需要簡單提及) 13.6 完善用戶體驗 添加加載動畫 處理空列錶情況 第十四章:調試、測試與發布 14.1 Android Studio 調試工具 斷點設置與條件斷點 單步執行(Step Over, Step Into, Step Out) 變量查看與修改 Logcat 的深入使用 Android Profiler (CPU, Memory, Network, Energy) 14.2 單元測試與集成測試 JUnit Mockito 框架 AndroidX Test 庫 Espresso (UI 測試) 14.3 應用簽名與打包 生成簽名密鑰 (Keystore) 創建 Release APK 或 App Bundle 構建變體 (Build Variants) 14.4 上架 Google Play Store 開發者賬號注冊 應用商店列錶信息(標題、描述、截圖、圖標) 上傳應用 發布流程與審核 附錄 附錄 A:常用 Android SDK 工具命令 附錄 B:XML 屬性速查錶 附錄 C:Java 基礎迴顧(針對 Android 開發) 附錄 D:Android 5.0 (Lollipop) 重點新特性總結 本書將帶領您一步步踏入 Android 開發的精彩世界,通過大量的代碼示例和詳細的講解,幫助您真正理解 Android 開發的核心原理,掌握實用的開發技巧,最終成為一名閤格的 Android 開發者。