關(guān)于我們
書(shū)單推薦
新書(shū)推薦
|
瘋狂Android講義(第4版) 讀者對(duì)象:Android App開(kāi)發(fā)人員
移動(dòng)互聯(lián)網(wǎng)已經(jīng)成為當(dāng)今世界發(fā)展最快、市場(chǎng)潛力最大、前景最誘人的業(yè)務(wù),而Android則是移動(dòng)互聯(lián)網(wǎng)上市場(chǎng)占有率最高的平臺(tái)。本書(shū)是《瘋狂Android講義》的第4版。本書(shū)基于全新的Android 9.x,并采用Google推薦的IDE:Android Studio作為開(kāi)發(fā)工具,書(shū)中每個(gè)案例、每個(gè)截圖都全面升級(jí)到Android 9.x。本書(shū)全面介紹Android應(yīng)用開(kāi)發(fā)的相關(guān)知識(shí),全書(shū)內(nèi)容覆蓋了Android用戶界面編程、Android四大組件、Android資源訪問(wèn)、圖形/圖像處理、事件處理機(jī)制、Android輸入/輸出處理、音頻/視頻多媒體應(yīng)用開(kāi)發(fā)、OpenGL與3D應(yīng)用開(kāi)發(fā)、網(wǎng)絡(luò)通信編程、Android整合RESTful服務(wù)端、傳感器應(yīng)用開(kāi)發(fā)、GPS應(yīng)用開(kāi)發(fā)、整合第三方Map服務(wù)等。本書(shū)并不局限于介紹Android編程的各種理論知識(shí),而是從“項(xiàng)目驅(qū)動(dòng)”的角度來(lái)講授理論,全書(shū)一共包括近百個(gè)實(shí)例,這些示范性的實(shí)例既可幫讀者更好地理解各知識(shí)點(diǎn)在實(shí)際開(kāi)發(fā)中的應(yīng)用,也可供讀者在實(shí)際開(kāi)發(fā)時(shí)作為參考、拿來(lái)就用。本書(shū)最后還提供了兩個(gè)實(shí)用的案例:合金彈頭和電子拍賣系統(tǒng)Android客戶端(基于主流的RESTful服務(wù)端),具有極高的參考價(jià)值。本書(shū)提供了配套的答疑網(wǎng)站,如果讀者在閱讀本書(shū)時(shí)遇到了技術(shù)問(wèn)題,可以登錄瘋狂Java聯(lián)盟(http://www.crazyit.org)發(fā)帖,筆者將會(huì)及時(shí)予以解答。本書(shū)適合于有一定Java編程基礎(chǔ)的讀者。如果讀者已熟練掌握J(rèn)ava編程語(yǔ)法、并具有一定圖形界面編程經(jīng)驗(yàn),閱讀本書(shū)將十分合適。否則,閱讀本書(shū)之前建議先認(rèn)真閱讀瘋狂Java體系之《瘋狂Java講義》。
李剛,十余年軟件開(kāi)發(fā)從業(yè)經(jīng)驗(yàn),瘋狂軟件教育中心教學(xué)總監(jiān)。瘋狂Java實(shí)訓(xùn)營(yíng)創(chuàng)始人,瘋狂Java體系原創(chuàng)圖書(shū)作者。廣東技術(shù)師范學(xué)院計(jì)算機(jī)科學(xué)系兼職副教授,CSDN特邀講師。培訓(xùn)的學(xué)生已在騰訊、阿里、華為、IBM、網(wǎng)易、唯品會(huì)、電信盈科等名企就職。國(guó)內(nèi)知名高端IT技術(shù)圖書(shū)作家,已出版《瘋狂Java講義》《瘋狂Android講義》《輕量級(jí)Java EE企業(yè)應(yīng)用實(shí)戰(zhàn)》《瘋狂前端開(kāi)發(fā)講義》《瘋狂HTML5/CSS3/JavaScript講義》《瘋狂iOS講義(基礎(chǔ)篇)(提高篇)》《瘋狂XML講義》《經(jīng)典JavaEE企業(yè)應(yīng)用實(shí)戰(zhàn)》《Struts 2.x權(quán)威指南》等著作。其中瘋狂Java體系圖書(shū)均已沉淀多年,贏得極高的市場(chǎng)認(rèn)同,多次重印,多部著作印刷數(shù)量超過(guò)10萬(wàn)冊(cè),并被多所“985”“211”院校選作教材,部分圖書(shū)已被翻譯成繁體中文版,授權(quán)到中國(guó)臺(tái)灣地區(qū)。
第1章 Android應(yīng)用和開(kāi)發(fā)環(huán)境 1
1.1 Android的發(fā)展和歷史 2
1.1.1 Android的發(fā)展和簡(jiǎn)介 2
1.1.2 Android 9.x平臺(tái)架構(gòu)及特性 2
1.2 使用Gradle自動(dòng)化構(gòu)建項(xiàng)目 5
1.2.1 下載和安裝Gradle 5
1.2.2 Gradle構(gòu)建文件和創(chuàng)建任務(wù) 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 自定義任務(wù) 19
1.2.8 自定義插件 21
1.3 搭建Android開(kāi)發(fā)環(huán)境 23
1.3.1 安裝Android Studio 23
1.3.2 下載和安裝Android SDK 28
1.3.3 在安裝過(guò)程中常見(jiàn)的錯(cuò)誤 30
1.3.4 安裝運(yùn)行、調(diào)試環(huán)境 31
1.4 Android常用開(kāi)發(fā)工具的用法 38
1.4.1 使用Monitor進(jìn)行調(diào)試 38
1.4.2 Android Debug Bridge(ADB)的用法 40
1.4.3 使用mksdcard管理虛擬SD卡 41
1.5 開(kāi)始第一個(gè)Android應(yīng)用 41
1.5.1 使用Android Studio開(kāi)發(fā)第一個(gè)Android應(yīng)用 41
1.5.2 通過(guò)Andorid Studio運(yùn)行Android應(yīng)用 44
1.6 Android應(yīng)用結(jié)構(gòu)分析 45
1.6.1 Android項(xiàng)目結(jié)構(gòu)分析 45
1.6.2 自動(dòng)生成的R.java 48
1.6.3 res目錄說(shuō)明 48
1.6.4 Android應(yīng)用的清單文件:AndroidManifest.xml 49
1.6.5 應(yīng)用程序權(quán)限說(shuō)明 50
1.7 Android應(yīng)用的基本組件介紹 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來(lái)簽名APK 54
1.8.1 使用Android Studio對(duì)Android應(yīng)用簽名 54
1.8.2 使用Android 9的命令對(duì)APK簽名 56
1.9 本章小結(jié) 57
第2章 Android應(yīng)用的界面編程 58
2.1 界面編程與視圖(View)組件 59
2.1.1 視圖組件與容器組件 59
2.1.2 使用XML布局文件控制UI界面 65
2.1.3 在代碼中控制UI界面 65
實(shí)例:用編程的方式開(kāi)發(fā)UI界面 65
2.1.4 使用XML布局文件和代碼混合控制UI界面 67
實(shí)例:簡(jiǎn)單圖片瀏覽器 67
2.1.5 開(kāi)發(fā)自定義View 69
實(shí)例:跟隨手指的小球 69
2.2 第1組UI組件:布局管理器 71
2.2.1 線性布局 72
2.2.2 表格布局 74
實(shí)例:豐富的表格布局 74
2.2.3 幀布局 76
實(shí)例:霓虹燈效果 78
2.2.4 絕對(duì)布局 79
2.2.5 約束布局 80
2.3 第2組UI組件:TextView及其子類 84
2.3.1 文本框(TextView)和編輯框(EditText)的功能與用法 84
實(shí)例:功能豐富的文本框 88
2.3.2 EditText的功能與用法 90
2.3.3 按鈕(Button)組件的功能與用法 91
實(shí)例:按鈕、圓形按鈕、帶文字的圖片按鈕 91
2.3.4 使用9Patch圖片作為背景 92
2.3.5 單選鈕(RadioButton)和復(fù)選框(CheckBox)的功能與用法 94
實(shí)例:利用單選鈕、復(fù)選框獲取用戶信息 94
2.3.6 狀態(tài)開(kāi)關(guān)按鈕(ToggleButton)和開(kāi)關(guān)(Switch)的功能與用法 96
實(shí)例:動(dòng)態(tài)控制布局 97
2.3.7 時(shí)鐘(AnalogClock和TextClock)的功能與用法 98
實(shí)例:手機(jī)里的“勞力士” 98
2.3.8 計(jì)時(shí)器(Chronometer) 99
2.4 第3組UI組件:ImageView及其子類 100
實(shí)例:圖片瀏覽器 101
實(shí)例:強(qiáng)大的圖片按鈕 104
實(shí)例:使用QuickContactBadge關(guān)聯(lián)聯(lián)系人 105
實(shí)例:可折疊的懸浮按鈕 107
2.5 第4組UI組件:AdapterView及子類 108
2.5.1 Adapter接口及實(shí)現(xiàn)類 109
實(shí)例:使用ArrayAdapter創(chuàng)建ListView 110
實(shí)例:使用SimpleAdapter創(chuàng)建ListView 112
2.5.2 自動(dòng)完成文本框(AutoCompleteTextView)的功能與用法 114
2.5.3 可展開(kāi)的列表組件(ExpandableListView) 116
2.5.4 Spinner的功能與用法 120
2.5.5 AdapterViewFlipper的功能與用法 121
實(shí)例:自動(dòng)播放的圖片庫(kù) 122
2.5.6 StackView的功能與用法 124
實(shí)例:疊在一起的圖片 125
2.5.7 優(yōu)秀的RecyclerView組件 126
實(shí)例:使用RecyclerView實(shí)現(xiàn)列表 127
2.6 第5組UI組件:ProgressBar及其子類 130
2.6.1 進(jìn)度條(ProgressBar)的功能與用法 130
2.6.2 拖動(dòng)條(SeekBar)的功能與用法 133
實(shí)例:通過(guò)拖動(dòng)滑塊來(lái)改變圖片的透明度 134
2.6.3 星級(jí)評(píng)分條(RatingBar)的功能與用法 135
實(shí)例:通過(guò)星級(jí)改變圖片的透明度 136
2.7 第6組UI組件:ViewAnimator及其子類 136
2.7.1 ViewSwitcher的功能與用法 137
實(shí)例:仿Android系統(tǒng)的Launcher界面 137
2.7.2 圖像切換器(ImageSwitcher)的功能與用法 142
實(shí)例:支持動(dòng)畫(huà)的圖片瀏覽器 142
2.7.3 文本切換器(TextSwitcher)的功能與用法 144
2.7.4 ViewFlipper的功能與用法 145
實(shí)例:自動(dòng)播放的圖片庫(kù) 145
2.8 各種雜項(xiàng)組件 147
2.8.1 使用Toast顯示提示信息框 147
實(shí)例:帶圖片的消息提示 147
2.8.2 日歷視圖(CalendarView)組件的功能與用法 149
實(shí)例:選擇您的生日 149
2.8.3 日期、時(shí)間選擇器(DatePicker和TimePicker)的功能與用法 151
實(shí)例:用戶選擇日期、時(shí)間 151
2.8.4 數(shù)值選擇器(NumberPicker)的功能與用法 153
實(shí)例:選擇您意向的價(jià)格范圍 153
2.8.5 搜索框(SearchView)的功能與用法 155
實(shí)例:搜索 155
2.8.6 滾動(dòng)視圖(ScrollView)的功能與用法 157
實(shí)例:可垂直和水平滾動(dòng)的視圖 157
2.8.7 Android 9 改進(jìn)的通知和通知Channel 158
實(shí)例:加薪通知 159
2.9 第7組UI組件:對(duì)話框 161
2.9.1 使用AlertDialog創(chuàng)建對(duì)話框 162
實(shí)例:顯示提示消息的對(duì)話框 162
實(shí)例:簡(jiǎn)單列表項(xiàng)對(duì)話框 163
實(shí)例:?jiǎn)芜x列表項(xiàng)對(duì)話框 164
實(shí)例:多選列表項(xiàng)對(duì)話框 165
實(shí)例:自定義列表項(xiàng)對(duì)話框 166
實(shí)例:自定義View對(duì)話框 166
2.9.2 對(duì)話框風(fēng)格的窗口 168
2.9.3 使用PopupWindow 168
2.9.4 使用DatePickerDialog、TimePickerDialog 169
2.9.5 使用ProgressDialog創(chuàng)建進(jìn)度對(duì)話框 171
2.10 菜單 171
2.10.1 選項(xiàng)菜單和子菜單(SubMenu) 171
2.10.2 使用監(jiān)聽(tīng)器來(lái)監(jiān)聽(tīng)菜單事件 175
2.10.3 創(chuàng)建多選菜單項(xiàng)和單選菜單項(xiàng) 175
2.10.4 設(shè)置與菜單項(xiàng)關(guān)聯(lián)的Activity 175
2.10.5 上下文菜單 176
2.10.6 使用XML文件定義菜單 177
實(shí)例:使用XML資源文件定義菜單 178
2.10.7 使用PopupMenu創(chuàng)建彈出式菜單 181
2.11 使用活動(dòng)條(ActionBar) 182
2.11.1 啟用ActionBar 182
2.11.2 使用ActionBar顯示選項(xiàng)菜單項(xiàng) 183
2.11.3 啟用程序圖標(biāo)導(dǎo)航 185
2.11.4 添加Action View 186
實(shí)例:“標(biāo)題”上的時(shí)鐘 187
2.12 本章小結(jié) 187
第3章 Android事件機(jī)制 188
3.1 Android事件處理概述 189
3.2 基于監(jiān)聽(tīng)的事件處理 189
3.2.1 監(jiān)聽(tīng)的處理模型 189
3.2.2 事件和事件監(jiān)聽(tīng)器 192
實(shí)例:控制飛機(jī)移動(dòng) 192
3.2.3 內(nèi)部類作為事件監(jiān)聽(tīng)器類 194
3.2.4 外部類作為事件監(jiān)聽(tīng)器類 194
3.2.5 Activity本身作為事件監(jiān)聽(tīng)器類 196
3.2.6 Lambda表達(dá)式作為事件監(jiān)聽(tīng)器類 196
3.2.7 直接綁定到標(biāo)簽 197
3.3 基于回調(diào)的事件處理 198
3.3.1 回調(diào)機(jī)制與監(jiān)聽(tīng)機(jī)制 198
3.3.2 基于回調(diào)的事件傳播 199
3.4 響應(yīng)系統(tǒng)設(shè)置的事件 201
3.4.1 Configuration類簡(jiǎn)介 201
實(shí)例:獲取系統(tǒng)設(shè)備狀態(tài) 202
3.4.2 重寫(xiě)onConfigurationChanged方法響應(yīng)系統(tǒng)設(shè)置更改 203
實(shí)例:監(jiān)聽(tīng)屏幕方向的改變 203
3.5 Handler消息傳遞機(jī)制 205
3.5.1 Handler類簡(jiǎn)介 205
實(shí)例:自動(dòng)播放動(dòng)畫(huà) 206
3.5.2 Handler、Loop、MessageQueue的工作原理 207
實(shí)例:使用新線程計(jì)算質(zhì)數(shù) 208
3.6 異步任務(wù)(AsyncTask) 210
實(shí)例:使用異步任務(wù)執(zhí)行下載 211
3.7 本章小結(jié) 213
第4章 深入理解Activity與Fragment 214
4.1 建立、配置和使用Activity 215
4.1.1 高級(jí)Activity 215
實(shí)例:用LauncherActivity開(kāi)發(fā)啟動(dòng)Activity的列表 216
實(shí)例:使用ExpandableListActivity實(shí)現(xiàn)可展開(kāi)的Activity 217
實(shí)例:PreferenceActivity結(jié)合PreferenceFragment實(shí)現(xiàn)參數(shù)設(shè)置界面 217
4.1.2 配置Activity 222
4.1.3 啟動(dòng)、關(guān)閉Activity 224
4.1.4 使用Bundle在Activity之間交換數(shù)據(jù) 226
實(shí)例:用第二個(gè)Activity處理注冊(cè)信息 226
4.1.5 啟動(dòng)其他Activity并返回結(jié)果 229
實(shí)例:用第二個(gè)Activity讓用戶選擇信息 230
4.2 Activity的回調(diào)機(jī)制 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升級(jí)的Fragment 242
4.5.1 Fragment概述及其設(shè)計(jì)初衷 242
4.5.2 創(chuàng)建Fragment 243
實(shí)例:開(kāi)發(fā)顯示圖書(shū)詳情的Fragment 244
實(shí)例:創(chuàng)建ListFragment 246
4.5.3 Fragment與Activity通信 247
4.5.4 Fragment管理與Fragment事務(wù) 249
實(shí)例:開(kāi)發(fā)兼顧屏幕分辨率的應(yīng)用 250
4.6 Fragment的生命周期 253
4.7 管理Fragment導(dǎo)航 257
實(shí)例:結(jié)合ViewPager實(shí)現(xiàn)分頁(yè)導(dǎo)航 257
實(shí)例:結(jié)合TabLayout實(shí)現(xiàn)Tab導(dǎo)航 259
4.7 本章小結(jié) 261
第5章 使用Intent和IntentFilter通信 262
5.1 Intent對(duì)象簡(jiǎn)述 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
實(shí)例:查看并獲取聯(lián)系人電話 271
實(shí)例:返回系統(tǒng)Home桌面 274
5.2.4 Data、Type屬性與intent-filter配置 274
實(shí)例:使用Action、Data屬性啟動(dòng)系統(tǒng)Activity 280
5.2.5 Extra屬性 282
5.2.6 Flag屬性 282
5.3 本章小結(jié) 283
第6章 Android應(yīng)用資源 284
6.1 應(yīng)用資源概述 285
6.1.1 資源的類型及存儲(chǔ)方式 285
6.1.2 使用資源 286
6.2 字符串、顏色、尺寸資源 288
6.2.1 顏色值的定義 288
6.2.2 定義字符串、顏色、尺寸資源文件 288
6.2.3 使用字符串、顏色、尺寸資源 290
6.3 數(shù)組(Array)資源 292
6.4 使用Drawable資源 295
6.4.1 圖片資源 295
6.4.2 StateListDrawable資源 295
實(shí)例:高亮顯示正在輸入的文本框 296
6.4.3 LayerDrawable資源 297
實(shí)例:定制拖動(dòng)條的外觀 297
6.4.4 ShapeDrawable資源 299
實(shí)例:橢圓形、漸變背景的文本框 299
6.4.5 ClipDrawable資源 301
實(shí)例:徐徐展開(kāi)的風(fēng)景 301
6.4.6 AnimationDrawable資源 302
6.5 屬性動(dòng)畫(huà)(Property Animation)資源 305
實(shí)例:不斷漸變的背景色 306
6.6 使用原始XML資源 306
6.6.1 定義原始XML資源 307
6.6.2 使用原始XML文件 307
6.7 使用布局(Layout)資源 309
6.8 使用菜單(Menu)資源 309
6.9 樣式(Style)和主題(Theme)資源 309
6.9.1 樣式資源 310
6.9.2 主題資源 311
實(shí)例:給所有窗口添加邊框、背景 311
6.10 屬性(Attribute)資源 313
6.11 使用原始資源 315
6.12 國(guó)際化 316
6.12.1 為Android應(yīng)用提供國(guó)際化資源 317
6.12.2 國(guó)際化Android應(yīng)用 317
6.13 自適應(yīng)不同屏幕的資源 319
6.14 本章小結(jié) 322
第7章 圖形與圖像處理 323
7.1 使用簡(jiǎn)單圖片 324
7.1.1 使用Drawable對(duì)象 324
7.1.2 Bitmap和BitmapFactory 324
7.1.3 Android 9新增的ImageDecoder 326
7.2 繪圖 328
7.2.1 Android繪圖基礎(chǔ):Canvas、Paint等 328
7.2.2 Path類 332
7.2.3 繪制游戲動(dòng)畫(huà) 335
實(shí)例:采用雙緩沖實(shí)現(xiàn)畫(huà)圖板 335
實(shí)例:彈球游戲 339
7.3 圖形特效處理 342
7.3.1 使用Matrix控制變換 342
7.3.2 使用drawBitmapMesh扭曲圖像 344
實(shí)例:可揉動(dòng)的圖片 345
7.3.3 使用Shader填充圖形 347
7.4 逐幀(Frame)動(dòng)畫(huà) 349
7.4.1 AnimationDrawable與逐幀動(dòng)畫(huà) 349
7.4.2 實(shí)例:在指定點(diǎn)爆炸 350
7.5 補(bǔ)間(Tween)動(dòng)畫(huà) 352
7.5.1 Tween動(dòng)畫(huà)與Interpolator 352
7.5.2 位置、大小、旋轉(zhuǎn)度、透明度改變的補(bǔ)間動(dòng)畫(huà) 354
實(shí)例:蝴蝶飛舞 356
7.5.3 自定義補(bǔ)間動(dòng)畫(huà) 358
7.6 Android 8增強(qiáng)的屬性動(dòng)畫(huà) 360
7.6.1 屬性動(dòng)畫(huà)的API 361
7.6.2 使用屬性動(dòng)畫(huà) 362
實(shí)例:大珠小珠落玉盤(pán) 366
7.7 使用SurfaceView實(shí)現(xiàn)動(dòng)畫(huà) 371
7.7.1 SurfaceView的繪圖機(jī)制 371
7.7.2 實(shí)例:基于SurfaceView開(kāi)發(fā)示波器 374
7.8 本章小結(jié) 376
第8章 Android數(shù)據(jù)存儲(chǔ)與IO 377
8.1 使用SharedPreferences 378
8.1.1 SharedPreferences與Editor簡(jiǎn)介 378
8.1.2 SharedPreferences的存儲(chǔ)位置和格式 379
實(shí)例:記錄應(yīng)用程序的使用次數(shù) 380
8.2 File存儲(chǔ) 381
8.2.1 openFileOutput和openFileInput 381
8.2.2 讀寫(xiě)SD卡上的文件 383
實(shí)例:SD卡文件瀏覽器 386
8.3 SQLite數(shù)據(jù)庫(kù) 389
8.3.1 SQLiteDatabase簡(jiǎn)介 390
8.3.2 創(chuàng)建數(shù)據(jù)庫(kù)和表 391
8.3.3 SQLiteOpenHelper類 391
8.3.4 使用SQL語(yǔ)句操作SQLite數(shù)據(jù)庫(kù) 393
8.3.5 使用sqlite3工具 396
8.3.6 使用特定方法操作SQLite數(shù)據(jù)庫(kù) 397
8.3.7 事務(wù) 400
8.3.8 SQLite數(shù)據(jù)庫(kù)最佳實(shí)踐建議 400
8.4 手勢(shì)(Gesture) 401
8.4.1 手勢(shì)檢測(cè) 401
實(shí)例:通過(guò)手勢(shì)縮放圖片 403
實(shí)例:通過(guò)多點(diǎn)觸碰縮放TextView 404
實(shí)例:通過(guò)多點(diǎn)觸碰縮放圖片 406
實(shí)例:通過(guò)手勢(shì)實(shí)現(xiàn)翻頁(yè)效果 408
8.4.2 增加手勢(shì) 410
8.4.3 識(shí)別用戶手勢(shì) 413
8.5 讓?xiě)?yīng)用說(shuō)話(TTS) 415
8.6 本章小結(jié) 418
第9章 使用ContentProvider實(shí)現(xiàn)數(shù)據(jù)共享 419
9.1 數(shù)據(jù)共享標(biāo)準(zhǔn):ContentProvider 420
9.1.1 ContentProvider簡(jiǎn)介 420
9.1.2 Uri簡(jiǎn)介 421
9.1.3 使用ContentResolver操作數(shù)據(jù) 422
9.2 開(kāi)發(fā)ContentProvider 423
9.2.1 ContentProvider與ContentResolver的關(guān)系 423
9.2.2 開(kāi)發(fā)ContentProvider子類 424
9.2.3 配置ContentProvider 425
9.2.4 使用ContentResolver調(diào)用方法 426
9.2.5 創(chuàng)建ContentProvider的說(shuō)明 428
實(shí)例:使用ContentProvider共享單詞數(shù)據(jù) 429
9.3 操作系統(tǒng)的ContentProvider 434
9.3.1 使用ContentProvider管理聯(lián)系人 434
9.3.2 使用ContentProvider管理多媒體內(nèi)容 440
9.4 監(jiān)聽(tīng)ContentProvider的數(shù)據(jù)改變 443
9.4.1 ContentObserver簡(jiǎn)介 443
9.4.2 實(shí)例:監(jiān)聽(tīng)用戶發(fā)出的短信 444
9.5 本章小結(jié) 446
第10章 Service和BroadcastReceiver 447
10.1 Service簡(jiǎn)介 448
10.1.1 創(chuàng)建、配置Service 448
10.1.2 啟動(dòng)和停止Service 450
10.1.3 綁定本地Service并與之通信 451
10.1.4 Service的生命周期 454
10.1.5 使用IntentService 455
10.2 跨進(jìn)程調(diào)用Service(AIDL Service) 458
10.2.1 AIDL Service簡(jiǎn)介 458
10.2.2 創(chuàng)建AIDL文件 459
10.2.3 將接口暴露給客戶端 459
10.2.4 客戶端訪問(wèn)AIDL Service 461
實(shí)例:傳遞復(fù)雜數(shù)據(jù)的AIDL Service 462
10.3 電話管理器(TelephonyManager) 467
實(shí)例:獲取網(wǎng)絡(luò)和SIM卡信息 467
實(shí)例:監(jiān)聽(tīng)手機(jī)來(lái)電 469
10.4 短信管理器(SmsManager) 470
實(shí)例:發(fā)送短信 470
實(shí)例:短信群發(fā) 471
10.5 音頻管理器(AudioManager) 474
10.5.1 AudioManager簡(jiǎn)介 474
10.5.2 實(shí)例:使用AudioManager控制手機(jī)音頻 474
10.6 振動(dòng)器(Vibrator) 476
10.6.1 Vibrator簡(jiǎn)介 476
10.6.2 使用Vibrator控制手機(jī)振動(dòng) 476
10.7 手機(jī)鬧鐘服務(wù)(AlarmManager) 477
10.7.1 AlarmManager簡(jiǎn)介 477
10.7.2 設(shè)置鬧鐘 478
10.8 廣播接收器 480
10.8.1 BroadcastReceiver簡(jiǎn)介 480
10.8.2 發(fā)送廣播 481
10.8.3 有序廣播 483
實(shí)例:基于Service的音樂(lè)播放器 485
10.9 接收系統(tǒng)廣播消息 489
實(shí)例:開(kāi)機(jī)自動(dòng)運(yùn)行的Activity 490
實(shí)例:手機(jī)電量提示 490
10.10 本章小結(jié) 492
第11章 多媒體應(yīng)用開(kāi)發(fā) 493
11.1 音頻和視頻的播放 494
11.1.1 Android 9增強(qiáng)的MediaPlayer 494
11.1.2 音樂(lè)特效控制 498
實(shí)例:音樂(lè)的示波器、均衡、重低音和音場(chǎng) 499
11.1.3 使用VolumeShaper控制聲音效果 505
11.1.4 使用SoundPool播放音效 507
11.1.5 使用VideoView播放視頻 509
11.1.6 使用MediaPlayer和SurfaceView播放視頻 511
11.2 使用MediaRecorder錄制音頻 514
實(shí)例:錄制音樂(lè) 515
11.3 控制攝像頭拍照 517
11.3.1 Android 9改進(jìn)的Camera v2 517
實(shí)例:拍照時(shí)自動(dòng)對(duì)焦 518
11.3.2 錄制視頻短片 526
實(shí)例:錄制生活短片 527
11.4 屏幕捕捉 530
11.5 本章小結(jié) 532
第12章 OpenGL與3D開(kāi)發(fā) 533
12.1 3D圖形與3D開(kāi)發(fā)的基本知識(shí) 534
12.2 OpenGL和OpenGL ES簡(jiǎn)介 535
12.3 繪制2D圖形 536
12.3.1 在Android應(yīng)用中使用OpenGL ES 536
12.3.2 繪制平面上的多邊形 538
12.3.3 旋轉(zhuǎn) 543
12.4 繪制3D圖形 546
12.4.1 構(gòu)建3D圖形 546
12.4.2 應(yīng)用紋理貼圖 550
12.5 本章小結(jié) 555
第13章 Android網(wǎng)絡(luò)應(yīng)用 556
13.1 基于TCP協(xié)議的網(wǎng)絡(luò)通信 557
13.1.1 TCP協(xié)議基礎(chǔ) 557
13.1.2 使用ServerSocket創(chuàng)建TCP服務(wù)器端 558
13.1.3 使用Socket進(jìn)行通信 559
13.1.4 加入多線程 562
13.2 使用URL訪問(wèn)網(wǎng)絡(luò)資源 567
13.2.1 Android 9安全增強(qiáng)的URL 568
13.2.2 使用URLConnection提交請(qǐng)求 570
13.3 使用HTTP訪問(wèn)網(wǎng)絡(luò) 575
13.3.1 使用HttpURLConnection 575
實(shí)例:多線程下載 576
13.3.2 使用OkHttp 580
實(shí)例:訪問(wèn)被保護(hù)資源 581
13.4 使用WebView進(jìn)行混合開(kāi)發(fā) 585
13.4.1 使用WebView瀏覽網(wǎng)頁(yè) 586
實(shí)例:迷你瀏覽器 586
13.4.2 使用WebView加載HTML代碼 587
13.4.3 使用WebView中的JavaScript調(diào)用Android方法 588
13.5 本章小結(jié) 591
第14章 管理Android系統(tǒng)桌面 592
14.1 改變壁紙 593
14.1.1 開(kāi)發(fā)動(dòng)態(tài)壁紙(Live Wallpapers) 593
14.1.2 實(shí)例:蜿蜒壁紙 594
14.2 快捷方式 597
14.2.1 靜態(tài)快捷方式 598
14.2.2 動(dòng)態(tài)快捷方式 599
14.2.3 桌面快捷方式(Pinned Shortcut) 601
實(shí)例:讓程序占領(lǐng)桌面 601
14.3 管理桌面控件 602
14.3.1 開(kāi)發(fā)桌面控件 602
實(shí)例:液晶時(shí)鐘 604
14.3.2 顯示帶數(shù)據(jù)集的桌面控件 606
14.4 本章小結(jié) 610
第15章 傳感器應(yīng)用開(kāi)發(fā) 611
15.1 利用Android的傳感器 612
15.2 Android的常用傳感器 614
15.2.1 方向傳感器 614
15.2.2 陀螺儀傳感器 615
15.2.3 磁場(chǎng)傳感器 615
15.2.4 重力傳感器 615
15.2.5 線性加速度傳感器 615
15.2.6 溫度傳感器 616
15.2.7 光傳感器 616
15.2.8 濕度傳感器 616
15.2.9 壓力傳感器 616
15.2.10 心率傳感器 616
15.2.11 離身檢查傳感器 616
15.3 傳感器應(yīng)用案例 620
實(shí)例:指南針 620
實(shí)例:水平儀 621
15.4 本章小結(jié) 625
第16章 GPS應(yīng)用開(kāi)發(fā) 626
16.1 支持GPS的核心API 627
16.2 獲取LocationProvider 628
16.2.1 獲取所有可用的LocationProvider 629
16.2.2 通過(guò)名稱獲得指定LocationProvider 629
16.3 獲取定位信息 630
16.3.1 通過(guò)模擬器發(fā)送GPS信息 630
16.3.2 獲取定位數(shù)據(jù) 630
16.3.3 Android 9新增的室內(nèi)Wi-Fi定位 632
16.4 臨近警告 634
16.5 本章小結(jié) 636
第17章 整合高德Map服務(wù) 637
17.1 調(diào)用高德Map服務(wù) 638
17.1.1 獲取Map API Key 638
17.1.2 高德地圖入門(mén) 640
17.2 根據(jù)GPS信息在地圖上定位 643
17.3 實(shí)際定位 649
17.3.1 地址解析與反向地址解析 649
17.3.2 根據(jù)地址執(zhí)行定位 652
17.4 GPS導(dǎo)航 654
17.5 本章小結(jié) 659
第18章 合金彈頭 660
18.1 合金彈頭游戲簡(jiǎn)介 661
18.2 開(kāi)發(fā)游戲界面組件 661
18.2.1 游戲界面分析 662
18.2.2 實(shí)現(xiàn)“怪物”類 662
18.2.3 實(shí)現(xiàn)怪物管理類 669
18.2.4 實(shí)現(xiàn)“子彈”類 673
18.2.5 實(shí)現(xiàn)“角色”類 676
18.3 實(shí)現(xiàn)繪圖工具類 681
18.4 加載、管理游戲圖片 686
18.5 實(shí)現(xiàn)游戲界面 689
18.5.1 實(shí)現(xiàn)游戲Activity 689
18.5.2 實(shí)現(xiàn)主視圖 691
18.6 本章小結(jié) 699
第19章 電子拍賣系統(tǒng) 700
19.1 系統(tǒng)功能簡(jiǎn)介和架構(gòu)設(shè)計(jì) 701
19.1.1 系統(tǒng)功能簡(jiǎn)介 701
19.1.2 系統(tǒng)架構(gòu)設(shè)計(jì) 702
19.2 JSON簡(jiǎn)介 703
19.2.1 使用JSON語(yǔ)法創(chuàng)建對(duì)象 704
19.2.2 使用JSON語(yǔ)法創(chuàng)建數(shù)組 705
19.2.3 Android的JSON支持 706
19.3 發(fā)送請(qǐng)求的工具類 706
19.4 用戶登錄 708
19.4.1 處理登錄的接口 708
19.4.2 用戶登錄客戶端 708
19.5 查看流拍物品 716
19.5.1 查看流拍物品的接口 716
19.5.2 查看流拍物品客戶端 717
19.6 管理物品種類 722
19.6.1 瀏覽物品種類的接口 722
19.6.2 查看物品種類 723
19.6.3 添加物品種類的接口 727
19.6.4 添加物品種類 727
19.7 管理拍賣物品 729
19.7.1 查看自己的拍賣物品的接口 729
19.7.2 查看自己的拍賣物品 729
19.7.3 添加拍賣物品的接口 733
19.7.4 添加拍賣物品 733
19.8 參與競(jìng)拍 738
19.8.1 選擇物品種類 738
19.8.2 根據(jù)種類瀏覽物品的服務(wù)器端接口 740
19.8.3 根據(jù)種類瀏覽物品 740
19.8.4 參與競(jìng)價(jià)的服務(wù)器端接口 742
19.8.5 參與競(jìng)價(jià) 742
19.9 權(quán)限控制 747
19.10 本章小結(jié) 748
你還可能感興趣
我要評(píng)論
|