關于我們
書單推薦
新書推薦
|
瘋狂Android講義(第4版) 讀者對象:Android App開發(fā)人員
移動互聯(lián)網已經成為當今世界發(fā)展最快、市場潛力最大、前景最誘人的業(yè)務,而Android則是移動互聯(lián)網上市場占有率最高的平臺。本書是《瘋狂Android講義》的第4版。本書基于全新的Android 9.x,并采用Google推薦的IDE:Android Studio作為開發(fā)工具,書中每個案例、每個截圖都全面升級到Android 9.x。本書全面介紹Android應用開發(fā)的相關知識,全書內容覆蓋了Android用戶界面編程、Android四大組件、Android資源訪問、圖形/圖像處理、事件處理機制、Android輸入/輸出處理、音頻/視頻多媒體應用開發(fā)、OpenGL與3D應用開發(fā)、網絡通信編程、Android整合RESTful服務端、傳感器應用開發(fā)、GPS應用開發(fā)、整合第三方Map服務等。本書并不局限于介紹Android編程的各種理論知識,而是從“項目驅動”的角度來講授理論,全書一共包括近百個實例,這些示范性的實例既可幫讀者更好地理解各知識點在實際開發(fā)中的應用,也可供讀者在實際開發(fā)時作為參考、拿來就用。本書最后還提供了兩個實用的案例:合金彈頭和電子拍賣系統(tǒng)Android客戶端(基于主流的RESTful服務端),具有極高的參考價值。本書提供了配套的答疑網站,如果讀者在閱讀本書時遇到了技術問題,可以登錄瘋狂Java聯(lián)盟(http://www.crazyit.org)發(fā)帖,筆者將會及時予以解答。本書適合于有一定Java編程基礎的讀者。如果讀者已熟練掌握Java編程語法、并具有一定圖形界面編程經驗,閱讀本書將十分合適。否則,閱讀本書之前建議先認真閱讀瘋狂Java體系之《瘋狂Java講義》。
李剛,十余年軟件開發(fā)從業(yè)經驗,瘋狂軟件教育中心教學總監(jiān)。瘋狂Java實訓營創(chuàng)始人,瘋狂Java體系原創(chuàng)圖書作者。廣東技術師范學院計算機科學系兼職副教授,CSDN特邀講師。培訓的學生已在騰訊、阿里、華為、IBM、網易、唯品會、電信盈科等名企就職。國內知名高端IT技術圖書作家,已出版《瘋狂Java講義》《瘋狂Android講義》《輕量級Java EE企業(yè)應用實戰(zhàn)》《瘋狂前端開發(fā)講義》《瘋狂HTML5/CSS3/JavaScript講義》《瘋狂iOS講義(基礎篇)(提高篇)》《瘋狂XML講義》《經典JavaEE企業(yè)應用實戰(zhàn)》《Struts 2.x權威指南》等著作。其中瘋狂Java體系圖書均已沉淀多年,贏得極高的市場認同,多次重印,多部著作印刷數量超過10萬冊,并被多所“985”“211”院校選作教材,部分圖書已被翻譯成繁體中文版,授權到中國臺灣地區(qū)。
第1章 Android應用和開發(fā)環(huán)境 1
1.1 Android的發(fā)展和歷史 2
1.1.1 Android的發(fā)展和簡介 2
1.1.2 Android 9.x平臺架構及特性 2
1.2 使用Gradle自動化構建項目 5
1.2.1 下載和安裝Gradle 5
1.2.2 Gradle構建文件和創(chuàng)建任務 6
1.2.3 Gradle的屬性定義 11
1.2.4 增量式構建 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 安裝運行、調試環(huán)境 31
1.4 Android常用開發(fā)工具的用法 38
1.4.1 使用Monitor進行調試 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應用結構分析 45
1.6.1 Android項目結構分析 45
1.6.2 自動生成的R.java 48
1.6.3 res目錄說明 48
1.6.4 Android應用的清單文件:AndroidManifest.xml 49
1.6.5 應用程序權限說明 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 本章小結 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)開關按鈕(ToggleButton)和開關(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關聯(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 數值選擇器(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 設置與菜單項關聯(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 本章小結 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 內部類作為事件監(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 基于回調的事件處理 198
3.3.1 回調機制與監(jiān)聽機制 198
3.3.2 基于回調的事件傳播 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
實例:使用新線程計算質數 208
3.6 異步任務(AsyncTask) 210
實例:使用異步任務執(zhí)行下載 211
3.7 本章小結 213
第4章 深入理解Activity與Fragment 214
4.1 建立、配置和使用Activity 215
4.1.1 高級Activity 215
實例:用LauncherActivity開發(fā)啟動Activity的列表 216
實例:使用ExpandableListActivity實現(xiàn)可展開的Activity 217
實例:PreferenceActivity結合PreferenceFragment實現(xiàn)參數設置界面 217
4.1.2 配置Activity 222
4.1.3 啟動、關閉Activity 224
4.1.4 使用Bundle在Activity之間交換數據 226
實例:用第二個Activity處理注冊信息 226
4.1.5 啟動其他Activity并返回結果 229
實例:用第二個Activity讓用戶選擇信息 230
4.2 Activity的回調機制 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
實例:結合ViewPager實現(xiàn)分頁導航 257
實例:結合TabLayout實現(xiàn)Tab導航 259
4.7 本章小結 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調用系統(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
5.2.5 Extra屬性 282
5.2.6 Flag屬性 282
5.3 本章小結 283
第6章 Android應用資源 284
6.1 應用資源概述 285
6.1.1 資源的類型及存儲方式 285
6.1.2 使用資源 286
6.2 字符串、顏色、尺寸資源 288
6.2.1 顏色值的定義 288
6.2.2 定義字符串、顏色、尺寸資源文件 288
6.2.3 使用字符串、顏色、尺寸資源 290
6.3 數組(Array)資源 292
6.4 使用Drawable資源 295
6.4.1 圖片資源 295
6.4.2 StateListDrawable資源 295
實例:高亮顯示正在輸入的文本框 296
6.4.3 LayerDrawable資源 297
實例:定制拖動條的外觀 297
6.4.4 ShapeDrawable資源 299
實例:橢圓形、漸變背景的文本框 299
6.4.5 ClipDrawable資源 301
實例:徐徐展開的風景 301
6.4.6 AnimationDrawable資源 302
6.5 屬性動畫(Property Animation)資源 305
實例:不斷漸變的背景色 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
實例:給所有窗口添加邊框、背景 311
6.10 屬性(Attribute)資源 313
6.11 使用原始資源 315
6.12 國際化 316
6.12.1 為Android應用提供國際化資源 317
6.12.2 國際化Android應用 317
6.13 自適應不同屏幕的資源 319
6.14 本章小結 322
第7章 圖形與圖像處理 323
7.1 使用簡單圖片 324
7.1.1 使用Drawable對象 324
7.1.2 Bitmap和BitmapFactory 324
7.1.3 Android 9新增的ImageDecoder 326
7.2 繪圖 328
7.2.1 Android繪圖基礎:Canvas、Paint等 328
7.2.2 Path類 332
7.2.3 繪制游戲動畫 335
實例:采用雙緩沖實現(xiàn)畫圖板 335
實例:彈球游戲 339
7.3 圖形特效處理 342
7.3.1 使用Matrix控制變換 342
7.3.2 使用drawBitmapMesh扭曲圖像 344
實例:可揉動的圖片 345
7.3.3 使用Shader填充圖形 347
7.4 逐幀(Frame)動畫 349
7.4.1 AnimationDrawable與逐幀動畫 349
7.4.2 實例:在指定點爆炸 350
7.5 補間(Tween)動畫 352
7.5.1 Tween動畫與Interpolator 352
7.5.2 位置、大小、旋轉度、透明度改變的補間動畫 354
實例:蝴蝶飛舞 356
7.5.3 自定義補間動畫 358
7.6 Android 8增強的屬性動畫 360
7.6.1 屬性動畫的API 361
7.6.2 使用屬性動畫 362
實例:大珠小珠落玉盤 366
7.7 使用SurfaceView實現(xiàn)動畫 371
7.7.1 SurfaceView的繪圖機制 371
7.7.2 實例:基于SurfaceView開發(fā)示波器 374
7.8 本章小結 376
第8章 Android數據存儲與IO 377
8.1 使用SharedPreferences 378
8.1.1 SharedPreferences與Editor簡介 378
8.1.2 SharedPreferences的存儲位置和格式 379
實例:記錄應用程序的使用次數 380
8.2 File存儲 381
8.2.1 openFileOutput和openFileInput 381
8.2.2 讀寫SD卡上的文件 383
實例:SD卡文件瀏覽器 386
8.3 SQLite數據庫 389
8.3.1 SQLiteDatabase簡介 390
8.3.2 創(chuàng)建數據庫和表 391
8.3.3 SQLiteOpenHelper類 391
8.3.4 使用SQL語句操作SQLite數據庫 393
8.3.5 使用sqlite3工具 396
8.3.6 使用特定方法操作SQLite數據庫 397
8.3.7 事務 400
8.3.8 SQLite數據庫最佳實踐建議 400
8.4 手勢(Gesture) 401
8.4.1 手勢檢測 401
實例:通過手勢縮放圖片 403
實例:通過多點觸碰縮放TextView 404
實例:通過多點觸碰縮放圖片 406
實例:通過手勢實現(xiàn)翻頁效果 408
8.4.2 增加手勢 410
8.4.3 識別用戶手勢 413
8.5 讓應用說話(TTS) 415
8.6 本章小結 418
第9章 使用ContentProvider實現(xiàn)數據共享 419
9.1 數據共享標準:ContentProvider 420
9.1.1 ContentProvider簡介 420
9.1.2 Uri簡介 421
9.1.3 使用ContentResolver操作數據 422
9.2 開發(fā)ContentProvider 423
9.2.1 ContentProvider與ContentResolver的關系 423
9.2.2 開發(fā)ContentProvider子類 424
9.2.3 配置ContentProvider 425
9.2.4 使用ContentResolver調用方法 426
9.2.5 創(chuàng)建ContentProvider的說明 428
實例:使用ContentProvider共享單詞數據 429
9.3 操作系統(tǒng)的ContentProvider 434
9.3.1 使用ContentProvider管理聯(lián)系人 434
9.3.2 使用ContentProvider管理多媒體內容 440
9.4 監(jiān)聽ContentProvider的數據改變 443
9.4.1 ContentObserver簡介 443
9.4.2 實例:監(jiān)聽用戶發(fā)出的短信 444
9.5 本章小結 446
第10章 Service和BroadcastReceiver 447
10.1 Service簡介 448
10.1.1 創(chuàng)建、配置Service 448
10.1.2 啟動和停止Service 450
10.1.3 綁定本地Service并與之通信 451
10.1.4 Service的生命周期 454
10.1.5 使用IntentService 455
10.2 跨進程調用Service(AIDL Service) 458
10.2.1 AIDL Service簡介 458
10.2.2 創(chuàng)建AIDL文件 459
10.2.3 將接口暴露給客戶端 459
10.2.4 客戶端訪問AIDL Service 461
實例:傳遞復雜數據的AIDL Service 462
10.3 電話管理器(TelephonyManager) 467
實例:獲取網絡和SIM卡信息 467
實例:監(jiān)聽手機來電 469
10.4 短信管理器(SmsManager) 470
實例:發(fā)送短信 470
實例:短信群發(fā) 471
10.5 音頻管理器(AudioManager) 474
10.5.1 AudioManager簡介 474
10.5.2 實例:使用AudioManager控制手機音頻 474
10.6 振動器(Vibrator) 476
10.6.1 Vibrator簡介 476
10.6.2 使用Vibrator控制手機振動 476
10.7 手機鬧鐘服務(AlarmManager) 477
10.7.1 AlarmManager簡介 477
10.7.2 設置鬧鐘 478
10.8 廣播接收器 480
10.8.1 BroadcastReceiver簡介 480
10.8.2 發(fā)送廣播 481
10.8.3 有序廣播 483
實例:基于Service的音樂播放器 485
10.9 接收系統(tǒng)廣播消息 489
實例:開機自動運行的Activity 490
實例:手機電量提示 490
10.10 本章小結 492
第11章 多媒體應用開發(fā) 493
11.1 音頻和視頻的播放 494
11.1.1 Android 9增強的MediaPlayer 494
11.1.2 音樂特效控制 498
實例:音樂的示波器、均衡、重低音和音場 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
實例:錄制音樂 515
11.3 控制攝像頭拍照 517
11.3.1 Android 9改進的Camera v2 517
實例:拍照時自動對焦 518
11.3.2 錄制視頻短片 526
實例:錄制生活短片 527
11.4 屏幕捕捉 530
11.5 本章小結 532
第12章 OpenGL與3D開發(fā) 533
12.1 3D圖形與3D開發(fā)的基本知識 534
12.2 OpenGL和OpenGL ES簡介 535
12.3 繪制2D圖形 536
12.3.1 在Android應用中使用OpenGL ES 536
12.3.2 繪制平面上的多邊形 538
12.3.3 旋轉 543
12.4 繪制3D圖形 546
12.4.1 構建3D圖形 546
12.4.2 應用紋理貼圖 550
12.5 本章小結 555
第13章 Android網絡應用 556
13.1 基于TCP協(xié)議的網絡通信 557
13.1.1 TCP協(xié)議基礎 557
13.1.2 使用ServerSocket創(chuàng)建TCP服務器端 558
13.1.3 使用Socket進行通信 559
13.1.4 加入多線程 562
13.2 使用URL訪問網絡資源 567
13.2.1 Android 9安全增強的URL 568
13.2.2 使用URLConnection提交請求 570
13.3 使用HTTP訪問網絡 575
13.3.1 使用HttpURLConnection 575
實例:多線程下載 576
13.3.2 使用OkHttp 580
實例:訪問被保護資源 581
13.4 使用WebView進行混合開發(fā) 585
13.4.1 使用WebView瀏覽網頁 586
實例:迷你瀏覽器 586
13.4.2 使用WebView加載HTML代碼 587
13.4.3 使用WebView中的JavaScript調用Android方法 588
13.5 本章小結 591
第14章 管理Android系統(tǒng)桌面 592
14.1 改變壁紙 593
14.1.1 開發(fā)動態(tài)壁紙(Live Wallpapers) 593
14.1.2 實例:蜿蜒壁紙 594
14.2 快捷方式 597
14.2.1 靜態(tài)快捷方式 598
14.2.2 動態(tài)快捷方式 599
14.2.3 桌面快捷方式(Pinned Shortcut) 601
實例:讓程序占領桌面 601
14.3 管理桌面控件 602
14.3.1 開發(fā)桌面控件 602
實例:液晶時鐘 604
14.3.2 顯示帶數據集的桌面控件 606
14.4 本章小結 610
第15章 傳感器應用開發(fā) 611
15.1 利用Android的傳感器 612
15.2 Android的常用傳感器 614
15.2.1 方向傳感器 614
15.2.2 陀螺儀傳感器 615
15.2.3 磁場傳感器 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 傳感器應用案例 620
實例:指南針 620
實例:水平儀 621
15.4 本章小結 625
第16章 GPS應用開發(fā) 626
16.1 支持GPS的核心API 627
16.2 獲取LocationProvider 628
16.2.1 獲取所有可用的LocationProvider 629
16.2.2 通過名稱獲得指定LocationProvider 629
16.3 獲取定位信息 630
16.3.1 通過模擬器發(fā)送GPS信息 630
16.3.2 獲取定位數據 630
16.3.3 Android 9新增的室內Wi-Fi定位 632
16.4 臨近警告 634
16.5 本章小結 636
第17章 整合高德Map服務 637
17.1 調用高德Map服務 638
17.1.1 獲取Map API Key 638
17.1.2 高德地圖入門 640
17.2 根據GPS信息在地圖上定位 643
17.3 實際定位 649
17.3.1 地址解析與反向地址解析 649
17.3.2 根據地址執(zhí)行定位 652
17.4 GPS導航 654
17.5 本章小結 659
第18章 合金彈頭 660
18.1 合金彈頭游戲簡介 661
18.2 開發(fā)游戲界面組件 661
18.2.1 游戲界面分析 662
18.2.2 實現(xiàn)“怪物”類 662
18.2.3 實現(xiàn)怪物管理類 669
18.2.4 實現(xiàn)“子彈”類 673
18.2.5 實現(xiàn)“角色”類 676
18.3 實現(xiàn)繪圖工具類 681
18.4 加載、管理游戲圖片 686
18.5 實現(xiàn)游戲界面 689
18.5.1 實現(xiàn)游戲Activity 689
18.5.2 實現(xiàn)主視圖 691
18.6 本章小結 699
第19章 電子拍賣系統(tǒng) 700
19.1 系統(tǒng)功能簡介和架構設計 701
19.1.1 系統(tǒng)功能簡介 701
19.1.2 系統(tǒng)架構設計 702
19.2 JSON簡介 703
19.2.1 使用JSON語法創(chuàng)建對象 704
19.2.2 使用JSON語法創(chuàng)建數組 705
19.2.3 Android的JSON支持 706
19.3 發(fā)送請求的工具類 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 參與競拍 738
19.8.1 選擇物品種類 738
19.8.2 根據種類瀏覽物品的服務器端接口 740
19.8.3 根據種類瀏覽物品 740
19.8.4 參與競價的服務器端接口 742
19.8.5 參與競價 742
19.9 權限控制 747
19.10 本章小結 748
你還可能感興趣
我要評論
|