定 價:¥139.00
作 者: | 李剛 著 |
出版社: | 電子工業(yè)出版社 |
叢編項: | |
標 簽: | 暫缺 |
ISBN: | 9787121360091 | 出版時間: | 2019-03-01 | 包裝: | 平裝 |
開本: | 16開 | 頁數(shù): | 764 | 字數(shù): |
第1章 Android應用和開發(fā)環(huán)境 1
1.1 Android的發(fā)展和歷史 2
1.1.1 Android的發(fā)展和簡介 2
1.1.2 Android 9.x平臺架構(gòu)及特性 2
1.2 使用Gradle自動化構(gòu)建項目 5
1.2.1 下載和安裝Gradle 5
1.2.2 Gradle構(gòu)建文件和創(chuàng)建任務 6
1.2.3 Gradle的屬性定義 11
1.2.4 增量式構(gòu)建 13
1.2.5 Gradle插件和java、application等插件 14
1.2.6 依賴管理 16
1.2.7 自定義任務 19
1.2.8 自定義插件 21
1.3 搭建Android開發(fā)環(huán)境 23
1.3.1 安裝Android Studio 23
1.3.2 下載和安裝Android SDK 28
1.3.3 在安裝過程中常見的錯誤 30
1.3.4 安裝運行、調(diào)試環(huán)境 31
1.4 Android常用開發(fā)工具的用法 38
1.4.1 使用Monitor進行調(diào)試 38
1.4.2 Android Debug Bridge(ADB)的用法 40
1.4.3 使用mksdcard管理虛擬SD卡 41
1.5 開始第一個Android應用 41
1.5.1 使用Android Studio開發(fā)第一個Android應用 41
1.5.2 通過Andorid Studio運行Android應用 44
1.6 Android應用結(jié)構(gòu)分析 45
1.6.1 Android項目結(jié)構(gòu)分析 45
1.6.2 自動生成的R.java 48
1.6.3 res目錄說明 48
1.6.4 Android應用的清單文件:AndroidManifest.xml 49
1.6.5 應用程序權(quán)限說明 50
1.7 Android應用的基本組件介紹 51
1.7.1 Activity和View 51
1.7.2 Service 52
1.7.3 BroadcastReceiver 52
1.7.4 ContentProvider 53
1.7.5 Intent和IntentFilter 53
1.8 使用Android 9來簽名APK 54
1.8.1 使用Android Studio對Android應用簽名 54
1.8.2 使用Android 9的命令對APK簽名 56
1.9 本章小結(jié) 57
第2章 Android應用的界面編程 58
2.1 界面編程與視圖(View)組件 59
2.1.1 視圖組件與容器組件 59
2.1.2 使用XML布局文件控制UI界面 65
2.1.3 在代碼中控制UI界面 65
實例:用編程的方式開發(fā)UI界面 65
2.1.4 使用XML布局文件和代碼混合控制UI界面 67
實例:簡單圖片瀏覽器 67
2.1.5 開發(fā)自定義View 69
實例:跟隨手指的小球 69
2.2 第1組UI組件:布局管理器 71
2.2.1 線性布局 72
2.2.2 表格布局 74
實例:豐富的表格布局 74
2.2.3 幀布局 76
實例:霓虹燈效果 78
2.2.4 絕對布局 79
2.2.5 約束布局 80
2.3 第2組UI組件:TextView及其子類 84
2.3.1 文本框(TextView)和編輯框(EditText)的功能與用法 84
實例:功能豐富的文本框 88
2.3.2 EditText的功能與用法 90
2.3.3 按鈕(Button)組件的功能與用法 91
實例:按鈕、圓形按鈕、帶文字的圖片按鈕 91
2.3.4 使用9Patch圖片作為背景 92
2.3.5 單選鈕(RadioButton)和復選框(CheckBox)的功能與用法 94
實例:利用單選鈕、復選框獲取用戶信息 94
2.3.6 狀態(tài)開關(guān)按鈕(ToggleButton)和開關(guān)(Switch)的功能與用法 96
實例:動態(tài)控制布局 97
2.3.7 時鐘(AnalogClock和TextClock)的功能與用法 98
實例:手機里的“勞力士” 98
2.3.8 計時器(Chronometer) 99
2.4 第3組UI組件:ImageView及其子類 100
實例:圖片瀏覽器 101
實例:強大的圖片按鈕 104
實例:使用QuickContactBadge關(guān)聯(lián)聯(lián)系人 105
實例:可折疊的懸浮按鈕 107
2.5 第4組UI組件:AdapterView及子類 108
2.5.1 Adapter接口及實現(xiàn)類 109
實例:使用ArrayAdapter創(chuàng)建ListView 110
實例:使用SimpleAdapter創(chuàng)建ListView 112
2.5.2 自動完成文本框(AutoCompleteTextView)的功能與用法 114
2.5.3 可展開的列表組件(ExpandableListView) 116
2.5.4 Spinner的功能與用法 120
2.5.5 AdapterViewFlipper的功能與用法 121
實例:自動播放的圖片庫 122
2.5.6 StackView的功能與用法 124
實例:疊在一起的圖片 125
2.5.7 優(yōu)秀的RecyclerView組件 126
實例:使用RecyclerView實現(xiàn)列表 127
2.6 第5組UI組件:ProgressBar及其子類 130
2.6.1 進度條(ProgressBar)的功能與用法 130
2.6.2 拖動條(SeekBar)的功能與用法 133
實例:通過拖動滑塊來改變圖片的透明度 134
2.6.3 星級評分條(RatingBar)的功能與用法 135
實例:通過星級改變圖片的透明度 136
2.7 第6組UI組件:ViewAnimator及其子類 136
2.7.1 ViewSwitcher的功能與用法 137
實例:仿Android系統(tǒng)的Launcher界面 137
2.7.2 圖像切換器(ImageSwitcher)的功能與用法 142
實例:支持動畫的圖片瀏覽器 142
2.7.3 文本切換器(TextSwitcher)的功能與用法 144
2.7.4 ViewFlipper的功能與用法 145
實例:自動播放的圖片庫 145
2.8 各種雜項組件 147
2.8.1 使用Toast顯示提示信息框 147
實例:帶圖片的消息提示 147
2.8.2 日歷視圖(CalendarView)組件的功能與用法 149
實例:選擇您的生日 149
2.8.3 日期、時間選擇器(DatePicker和TimePicker)的功能與用法 151
實例:用戶選擇日期、時間 151
2.8.4 數(shù)值選擇器(NumberPicker)的功能與用法 153
實例:選擇您意向的價格范圍 153
2.8.5 搜索框(SearchView)的功能與用法 155
實例:搜索 155
2.8.6 滾動視圖(ScrollView)的功能與用法 157
實例:可垂直和水平滾動的視圖 157
2.8.7 Android 9 改進的通知和通知Channel 158
實例:加薪通知 159
2.9 第7組UI組件:對話框 161
2.9.1 使用AlertDialog創(chuàng)建對話框 162
實例:顯示提示消息的對話框 162
實例:簡單列表項對話框 163
實例:單選列表項對話框 164
實例:多選列表項對話框 165
實例:自定義列表項對話框 166
實例:自定義View對話框 166
2.9.2 對話框風格的窗口 168
2.9.3 使用PopupWindow 168
2.9.4 使用DatePickerDialog、TimePickerDialog 169
2.9.5 使用ProgressDialog創(chuàng)建進度對話框 171
2.10 菜單 171
2.10.1 選項菜單和子菜單(SubMenu) 171
2.10.2 使用監(jiān)聽器來監(jiān)聽菜單事件 175
2.10.3 創(chuàng)建多選菜單項和單選菜單項 175
2.10.4 設置與菜單項關(guān)聯(lián)的Activity 175
2.10.5 上下文菜單 176
2.10.6 使用XML文件定義菜單 177
實例:使用XML資源文件定義菜單 178
2.10.7 使用PopupMenu創(chuàng)建彈出式菜單 181
2.11 使用活動條(ActionBar) 182
2.11.1 啟用ActionBar 182
2.11.2 使用ActionBar顯示選項菜單項 183
2.11.3 啟用程序圖標導航 185
2.11.4 添加Action View 186
實例:“標題”上的時鐘 187
2.12 本章小結(jié) 187
第3章 Android事件機制 188
3.1 Android事件處理概述 189
3.2 基于監(jiān)聽的事件處理 189
3.2.1 監(jiān)聽的處理模型 189
3.2.2 事件和事件監(jiān)聽器 192
實例:控制飛機移動 192
3.2.3 內(nèi)部類作為事件監(jiān)聽器類 194
3.2.4 外部類作為事件監(jiān)聽器類 194
3.2.5 Activity本身作為事件監(jiān)聽器類 196
3.2.6 Lambda表達式作為事件監(jiān)聽器類 196
3.2.7 直接綁定到標簽 197
3.3 基于回調(diào)的事件處理 198
3.3.1 回調(diào)機制與監(jiān)聽機制 198
3.3.2 基于回調(diào)的事件傳播 199
3.4 響應系統(tǒng)設置的事件 201
3.4.1 Configuration類簡介 201
實例:獲取系統(tǒng)設備狀態(tài) 202
3.4.2 重寫onConfigurationChanged方法響應系統(tǒng)設置更改 203
實例:監(jiān)聽屏幕方向的改變 203
3.5 Handler消息傳遞機制 205
3.5.1 Handler類簡介 205
實例:自動播放動畫 206
3.5.2 Handler、Loop、MessageQueue的工作原理 207
實例:使用新線程計算質(zhì)數(shù) 208
3.6 異步任務(AsyncTask) 210
實例:使用異步任務執(zhí)行下載 211
3.7 本章小結(jié) 213
第4章 深入理解Activity與Fragment 214
4.1 建立、配置和使用Activity 215
4.1.1 高級Activity 215
實例:用LauncherActivity開發(fā)啟動Activity的列表 216
實例:使用ExpandableListActivity實現(xiàn)可展開的Activity 217
實例:PreferenceActivity結(jié)合PreferenceFragment實現(xiàn)參數(shù)設置界面 217
4.1.2 配置Activity 222
4.1.3 啟動、關(guān)閉Activity 224
4.1.4 使用Bundle在Activity之間交換數(shù)據(jù) 226
實例:用第二個Activity處理注冊信息 226
4.1.5 啟動其他Activity并返回結(jié)果 229
實例:用第二個Activity讓用戶選擇信息 230
4.2 Activity的回調(diào)機制 232
4.3 Activity的生命周期 233
4.3.1 Activity的生命周期演示 233
4.3.2 Activity與Servlet的相似性和區(qū)別 236
4.4 Activity的4種加載模式 237
4.4.1 standard模式 237
4.4.2 singleTop模式 238
4.4.3 singleTask模式 239
4.4.4 singleInstance模式 240
4.5 Android 9升級的Fragment 242
4.5.1 Fragment概述及其設計初衷 242
4.5.2 創(chuàng)建Fragment 243
實例:開發(fā)顯示圖書詳情的Fragment 244
實例:創(chuàng)建ListFragment 246
4.5.3 Fragment與Activity通信 247
4.5.4 Fragment管理與Fragment事務 249
實例:開發(fā)兼顧屏幕分辨率的應用 250
4.6 Fragment的生命周期 253
4.7 管理Fragment導航 257
實例:結(jié)合ViewPager實現(xiàn)分頁導航 257
實例:結(jié)合TabLayout實現(xiàn)Tab導航 259
4.7 本章小結(jié) 261
第5章 使用Intent和IntentFilter通信 262
5.1 Intent對象簡述 263
5.2 Intent的屬性及intent-filter配置 264
5.2.1 Component屬性 264
5.2.2 Action、Category屬性與intent-filter配置 266
5.2.3 指定Action、Category調(diào)用系統(tǒng)Activity 270
實例:查看并獲取聯(lián)系人電話 271
實例:返回系統(tǒng)Home桌面 274
5.2.4 Data、Type屬性與intent-filter配置 274
實例:使用Action、Data屬性啟動系統(tǒng)Activity 280