瘋狂Android講義(第3版)

瘋狂Android講義(第3版)

《瘋狂Android講義(第3版)》是2015年6月電子工業出版社出版的圖書,作者是李剛。

內容簡介

《瘋狂Android講義(第3版)》是《瘋狂Android講義》的第3版,《瘋狂Android講義(第3版)》基於最新的Android 5,並採用了Google推薦的IDE:Android Studio作為開發工具,書中每個案例、每個截圖都全面升級到Android 5。《瘋狂Android講義(第3版)》全面介紹了Android套用開發的相關知識,全書內容覆蓋了Android用戶界面編程、Android四大組件、Android資源訪問、圖形/圖像處理、事件處理機制、Android輸入/輸出處理、音頻/視頻多媒體套用開發、OpenGL與3D套用開發、網路通信編程、Android平台的Web Service、感測器套用開發、GPS套用開發、整合第三方Map服務等。

內容摘要

移動網際網路已經成為當今世界發展最快、市場潛力最大、前景最誘人的業務,而Android則是移動網際網路上市場占有率最高的平台。

《瘋狂Android講義(第3版)》是《瘋狂Android講義》的第3版,《瘋狂Android講義(第3版)》基於最新的Android 5,並採用了Google推薦的IDE:Android Studio作為開發工具,書中每個案例、每個截圖都全面升級到Android 5。《瘋狂Android講義(第3版)》全面介紹了Android套用開發的相關知識,全書內容覆蓋了Android用戶界面編程、Android四大組件、Android資源訪問、圖形/圖像處理、事件處理機制、Android輸入/輸出處理、音頻/視頻多媒體套用開發、OpenGL與3D套用開發、網路通信編程、Android平台的Web Service、感測器套用開發、GPS套用開發、整合第三方Map服務等。

《瘋狂Android講義(第3版)》並不局限於介紹Android編程的各種理論知識,而是從“項目驅動”的角度來講授理論,全書一共包括近百個實例,這些示範性的實例既可幫助讀者更好地理解各知識點在實際開發中的套用,也可供讀者在實際開發時作為參考、拿來就用。《瘋狂Android講義(第3版)》最後還提供了兩個實用的案例:合金彈頭和電子拍賣系統Android客戶端。《瘋狂Android講義(第3版)》提供了配套的答疑網站。

《瘋狂Android講義(第3版)》適合於有一定Java編程基礎的讀者。如果讀者已熟練掌握Java編程語法,並具有一定的圖形界面編程經驗,閱讀《瘋狂Android講義(第3版)》將十分合適;否則,在閱讀《瘋狂Android講義(第3版)》之前建議先認真閱讀瘋狂Java體系之《瘋狂Java講義》。

作者簡介

李剛,十餘年軟體開發從業經驗。瘋狂Java實訓營創始人,瘋狂Java體系原創圖書作者。廣東技術師範學院計算機科學系兼職副教授,51CTO專家門診特邀嘉賓。培訓的學生已在華為、IBM、阿里軟體、網易、電信盈科等名企就職。國內著名高端IT技術圖書作家,已出版《瘋狂Java講義》、《瘋狂Android講義》、《輕量級JavaEE企業套用實戰》、《瘋狂iOS講義(上)(下)》、《瘋狂Ajax講義》、《瘋狂XML講義》、《經典JavaEE企業套用實戰》、《Struts2.x權威指南》、《瘋狂HTML5/CSS3/JavaScript講義》等著作。其中瘋狂Java體系圖書均已沉澱多年,贏得市場認同,被多所“985”、“211”高校選作教材,部分圖書已被翻譯成繁體中文版,授權到台灣地區。

目錄

第1章 Android套用和開發環境 1

1.1 Android的發展和歷史 2

1.1.1 Android的發展和簡介 2

1.1.2 Android 5.x平台架構及特性 3

1.2 搭建Android開發環境 5

1.2.1 安裝Android Studio 5

1.2.2 下載和安裝Android SDK 8

1.2.3 安裝運行、調試環境 11

1.3 Android常用開發工具的用法 16

1.3.1 在命令行創建、刪除和瀏覽AVD 16

1.3.2 使用Android模擬器(Emulator) 17

1.3.3 使用Monitor進行調試 18

1.3.4 Android Debug Bridge(ADB)的用法 19

1.3.5 使用mksdcard管理虛擬SD卡 20

1.4 開始第一個Android套用 21

1.4.1 使用Android Studio開發第一個Android套用 21

1.4.2 通過Andorid Studio運行Android套用 24

1.5 Android套用結構分析 25

1.5.1 創建一個Android套用 25

1.5.2 自動生成的R.java 28

1.5.3 res目錄說明 29

1.5.4 Android套用的清單檔案:AndroidManifest.xml 30

1.5.5 應用程式許可權說明 31

1.6 Android套用的基本組件介紹 32

1.6.1 Activity和View 32

1.6.2 Service 33

1.6.3 BroadcastReceiver 33

1.6.4 ContentProvider 33

1.6.5 Intent和IntentFilter 34

1.7 簽名Android應用程式 35

1.7.1 使用Android Studio對Android套用簽名 35

1.7.2 使用命令對APK包簽名 36

1.8 本章小結 37

第2章 Android套用的界面編程 38

2.1 界面編程與視圖(View)組件 39

2.1.1 視圖組件與容器組件 39

2.1.2 使用XML布局檔案控制UI界面 44

2.1.3 在代碼中控制UI界面 44

實例:用編程的方式開發UI界面 44

2.1.4 使用XML布局檔案和Java代碼

混合控制UI界面 46

實例:簡單圖片瀏覽器 46

2.1.5 開發自定義View 47

實例:跟隨手指的小球 48

2.2 第1組UI組件:布局管理器 49

2.2.1 線性布局 50

2.2.2 表格布局 52

實例:豐富的表格布局 53

2.2.3 幀布局 55

實例:霓虹燈效果 57

2.2.4 相對布局 58

實例:梅花布局效果 59

2.2.5 格線布局 60

實例:計算器界面 61

2.2.6 絕對布局 62

實例:登錄界面 63

2.3 第2組UI組件:TextView及其子類 64

2.3.1 文本框(TextView)與編輯框(EditText)的功能和用法 64

實例:不同顏色、字型、帶連結的文本 67

實例:圓角框線、漸變背景的TextView 68

2.3.2 EditText的功能與用法 70

實例:用戶友好的輸入界面 70

2.3.3 按鈕(Button)組件的功能與用法 72

實例:按鈕、圓形按鈕、帶文字的圖片按鈕 72

2.3.4 使用9Patch圖片作為背景 73

2.3.5 單選鈕(RadioButton)和複選框(CheckBox)的功能與用法 74

實例:利用單選鈕、複選框獲取用戶信息 75

2.3.6 狀態開關按鈕(ToggleButton)和開關(Switch)的功能與用法 77

實例:動態控制布局 77

2.3.7 時鐘(AnalogClock和TextClock)的功能與用法 79

實例:手機里的“勞力士” 79

2.3.8 計時器(Chronometer) 80

2.4 第3組UI組件:ImageView及其子類 81

實例:圖片瀏覽器 83

實例:強大的圖片按鈕 86

實例:使用QuickContactBadge關聯聯繫人 87

2.5 第4組UI組件:AdapterView及子類 88

2.5.1 列表視圖(ListView)和ListActivity 89

實例:改變分隔條、基於數組的ListView 90

2.5.2 Adapter接口及實現類 91

實例:使用ArrayAdapter創建ListView 91

實例:基於ListActivity實現列表 93

實例:使用SimpleAdapter創建ListView 94

實例:擴展BaseAdapter實現不存儲列表項的ListView 97

2.5.3 自動完成文本框(AutoCompleteTextView)的功能與用法 98

2.5.4 格線視圖(GridView)的功能與用法 100

實例:帶預覽的圖片瀏覽器 101

2.5.5 可展開的列表組件(ExpandableListView) 103

2.5.6 Spinner的功能與用法 106

實例:讓用戶選擇 106

2.5.7 AdapterViewFlipper的功能與用法 108

實例:自動播放的圖片庫 108

2.5.8 StackView的功能與用法 111

實例:疊在一起的圖片 111

2.6 第5組UI組件:ProgressBar及其子類 112

2.6.1 進度條(ProgressBar)的功能與用法 113

實例:顯示在標題上的進度條 116

2.6.2 拖動條(SeekBar)的功能與用法 117

實例:通過拖動滑塊來改變圖片的透明度 117

2.6.3 星級評分條(RatingBar)的功能與用法 118

實例:通過星級改變圖片的透明度 119

2.7 第6組UI組件:ViewAnimator及其子類 120

2.7.1 ViewSwitcher的功能與用法 120

實例:仿Android系統Launcher界面 120

2.7.2 圖像切換器(ImageSwitcher)的功能與用法 125

實例:支持動畫的圖片瀏覽器 125

2.7.3 文本切換器(TextSwitcher)的功能與用法 127

2.7.4 ViewFlipper的功能與用法 129

實例:自動播放的圖片庫 129

2.8 各種雜項組件 131

2.8.1 使用Toast顯示提示信息框 131

實例:帶圖片的訊息提示 131

2.8.2 日曆視圖(CalendarView)組件的功能和用法 133

實例:選擇您的生日 133

2.8.3 日期、時間選擇器(DatePicker和TimePicker)的功能和用法 134

實例:用戶選擇日期、時間 135

2.8.4 數值選擇器(NumberPicker)的功能與用法 137

實例:選擇您意向的價格範圍 137

2.8.5 搜尋框(SearchView)的功能與用法 139

實例:搜尋 139

2.8.6 選項卡(TabHost)的功能和用法 141

實例:通話記錄界面 141

2.8.7 滾動視圖(ScrollView)的功能和用法 143

實例:可垂直和水平滾動的視圖 144

2.8.8 Notification的功能與用法 144

實例:加薪通知 145

2.9 第7組UI組件:對話框 146

2.9.1 使用AlertDialog創建對話框 147

實例:顯示提示訊息的對話框 147

實例:簡單列表項對話框 149

實例:單選列表項對話框 149

實例:多選列表項對話框 150

實例:自定義列表項對話框 151

實例:自定義View對話框 152

2.9.2 對話框風格的視窗 154

2.9.3 使用PopupWindow 155

2.9.4 使用DatePickerDialog、TimePickerDialog 156

2.9.5 使用ProgressDialog創建進度對話框 158

2.10 選單 160

2.10.1 選項選單和子選單(SubMenu) 161

2.10.2 使用監聽器來監聽選單事件 164

2.10.3 創建多選選單項和單選選單項 164

2.10.4 設定與選單項關聯的Activity 165

2.10.5 上下文選單 166

2.10.6 使用XML檔案定義選單 167

實例:使用XML資源檔案定義選單 168

2.10.7 使用PopupMenu創建彈出式選單 171

2.11 使用活動條(ActionBar) 173

2.11.1 啟用ActionBar 173

2.11.2 使用ActionBar顯示選項選單項 174

2.11.3 啟用程式圖示導航 176

2.11.4 添加Action View 177

實例:“標題”上的時鐘 177

2.11.5 使用ActionBar實現Tab導航 178

實例:ActionBar結合Fragment實現Tab導航 179

實例:Android 3.0以前的Fragment支持 182

2.11.6 使用ActionBar實現下拉式導航 185

實例:ActionBar結合Fragment實現下拉式導航 185

2.12 本章小結 187

第3章 Android的事件處理 188

3.1 Android事件處理概述 189

3.2 基於監聽的事件處理 189

3.2.1 監聽的處理模型 189

3.2.2 事件和事件監聽器 192

實例:控制飛機移動 192

3.2.3 內部類作為事件監聽器類 195

3.2.4 外部類作為事件監聽器類 195

3.2.5 Activity本身作為事件監聽器類 197

3.2.6 匿名內部類作為事件監聽器類 197

3.2.7 直接綁定到標籤 198

3.3 基於回調的事件處理 199

3.3.1 回調機制與監聽機制 199

3.3.2 基於回調的事件傳播 201

3.3.3 重寫onTouchEvent方法回響觸控螢幕事件 202

實例:通過回調實現跟隨手指的小球 203

3.4 回響系統設定的事件 204

3.4.1 Configuration類簡介 204

實例:獲取系統設備狀態 205

3.4.2 重寫onConfigurationChanged方法回響系統設定更改 206

實例:監聽螢幕方向的改變 206

3.5 Handler訊息傳遞機制 208

3.5.1 Handler類簡介 208

實例:自動播放動畫 209

3.5.2 Handler、Loop、MessageQueue的工作原理 210

實例:使用新執行緒計算質數 211

3.6 異步任務(AsyncTask) 213

實例:使用異步任務執行下載 214

3.7 本章小結 217

第4章 深入理解Activity與Fragment 218

4.1 建立、配置和使用Activity 219

4.1.1 Activity 219

實例:用LauncherActivity開發啟動Activity的列表 220

實例:使用ExpandableListActivity

實現可展開的Activity 221

實例:PreferenceActivity結合PreferenceFragment實現參數設定界面 223

4.1.2 配置Activity 227

4.1.3 啟動、關閉Activity 229

4.1.4 使用Bundle在Activity之間交換數據 231

實例:用第二個Activity處理註冊信息 232

4.1.5 啟動其他Activity並返回結果 235

實例:用第二個Activity讓用戶選擇信息 235

4.2 Activity的回調機制 239

4.3 Activity的生命周期與載入模式 240

4.3.1 Activity的生命周期演示 240

4.3.2 Activity與Servlet的相似性和區別 243

4.3.3 Activity的4種載入模式 244

4.4 Fragment詳解 249

4.4.1 Fragment概述及其設計初衷 249

4.4.2 創建Fragment 250

實例:開發顯示圖書詳情的Fragment 251

實例:創建ListFragment 253

4.4.3 Fragment與Activity通信 254

4.4.4 Fragment管理與Fragment事務 256

實例:開發兼顧螢幕解析度的套用 257

4.5 Fragment的生命周期 260

4.6 本章小結 264

第5章 使用Intent和IntentFilter進行通信 265

5.1 Intent對象簡述 266

5.2 Intent的屬性及intent-filter配置 267

5.2.1 Component屬性 267

5.2.2 Action、Category屬性與intent-filter配置 269

5.2.3 指定Action、Category調用系統Activity 273

實例:查看並獲取聯繫人電話 274

實例:返回系統Home桌面 277

5.2.4 Data、Type屬性與intent-filter配置 278

實例:使用Action、Data屬性啟動系統Activity 284

5.2.5 Extra屬性 286

5.2.6 Flag屬性 286

5.3 使用Intent創建Tab頁 287

5.4 本章小結 288

第6章 Android套用的資源 289

6.1 套用資源概述 290

6.1.1 資源的類型以及存儲方式 290

6.1.2 使用資源 291

6.2 字元串、顏色、尺寸資源 293

6.2.1 顏色值的定義 293

6.2.2 定義字元串、顏色、尺寸資源檔案 294

6.2.3 使用字元串、顏色、尺寸資源 295

6.3 數組(Array)資源 298

6.4 使用Drawable資源 300

6.4.1 圖片資源 300

6.4.2 StateListDrawable資源 301

實例:高亮顯示正在輸入的文本框 301

6.4.3 LayerDrawable資源 302

實例:定製拖動條的外觀 303

6.4.4 ShapeDrawable資源 304

實例:橢圓形、漸變背景的文本框 305

6.4.5 ClipDrawable資源 306

實例:徐徐展開的風景 306

6.4.6 AnimationDrawable資源 308

6.5 屬性動畫(Property Animation)資源 310

實例:不斷漸變的背景色 311

6.6 使用原始XML資源 312

6.6.1 定義原始XML資源 312

6.6.2 使用原始XML檔案 313

6.7 使用布局(Layout)資源 314

6.8 使用選單(Menu)資源 315

6.9 樣式(Style)和主題(Theme)資源 315

6.9.1 樣式資源 315

6.9.2 主題資源 316

實例:給所有視窗添加框線、背景 317

6.9.3 Android 5.0新增的Material主題 318

6.10 屬性(Attribute)資源 318

6.11 使用原始資源 321

6.12 國際化和資源自適應 323

6.12.1 Java國際化的思路 323

6.12.2 Java支持的國家和語言 324

6.12.3 完成程式國際化 324

6.12.4 為Android套用提供國際化資源 326

6.12.5 國際化Android套用 327

6.13 自適應不同螢幕的資源 329

6.14 本章小結 332

第7章 圖形與圖像處理 333

7.1 使用簡單圖片 334

7.1.1 使用Drawable對象 334

7.1.2 Bitmap和BitmapFactory 334

7.2 繪圖 337

7.2.1 Android繪圖基礎:Canvas、Paint等 337

7.2.2 Path類 341

7.2.3 繪製遊戲動畫 344

實例:採用雙緩衝實現畫圖板 344

實例:彈球遊戲 348

7.3 圖形特效處理 351

7.3.1 使用Matrix控制變換 351

實例:移動遊戲背景 353

7.3.2 使用drawBitmapMesh扭曲圖像 355

實例:可揉動的圖片 356

7.3.3 使用Shader填充圖形 358

7.4 逐幀(Frame)動畫 360

7.4.1 AnimationDrawable與逐幀動畫 360

實例:在指定點爆炸 362

7.5 補間(Tween)動畫 364

7.5.1 Tween動畫與Interpolator 364

7.5.2 位置、大小、旋轉度、透明度改變的補間動畫 366

實例:蝴蝶飛舞 368

7.5.3 自定義補間動畫 369

7.6 屬性動畫 373

7.6.1 屬性動畫的API 373

7.6.2 使用屬性動畫 375

實例:大珠小珠落玉盤 379

7.7 使用SurfaceView實現動畫 383

7.7.1 SurfaceView的繪圖機制 383

實例:基於SurfaceView開發示波器 386

7.8 本章小結 388

第8章 Android數據存儲與IO 389

8.1 使用SharedPreferences 390

8.1.1 SharedPreferences與Editor簡介 390

8.1.2 SharedPreferences的存儲位置和格式 391

實例:記錄應用程式的使用次數 393

8.2 File存儲 393

8.2.1 openFileOutput和openFileInput 393

8.2.2 讀寫SD卡上的檔案 396

實例:SD卡檔案瀏覽器 399

8.3 SQLite資料庫 402

8.3.1 SQLiteDatabase簡介 402

8.3.2 創建資料庫和表 404

8.3.3 使用SQL語句操作SQLite資料庫 404

8.3.4 使用sqlite3工具 406

8.3.5 使用特定方法操作SQLite資料庫 408

8.3.6 事務 410

8.3.7 SQLiteOpenHelper類 411

實例:英文生詞本 412

8.4 手勢(Gesture) 415

8.4.1 手勢檢測 415

實例:通過手勢縮放圖片 417

實例:通過手勢實現翻頁效果 419

8.4.2 增加手勢 422

8.4.3 識別用戶手勢 425

8.5 自動朗讀(TTS) 427

8.6 本章小結 429

第9章 使用ContentProvider實現數據共享 431

9.1 數據共享標準:ContentProvider 432

9.1.1 ContentProvider簡介 432

9.1.2 Uri簡介 433

9.1.3 使用ContentResolver運算元據 434

9.2 開發ContentProvider 435

9.2.1 ContentProvider與ContentResolver的關係 435

9.2.2 開發ContentProvider子類 436

9.2.3 配置ContentProvider 437

9.2.4 使用ContentResolver調用方法 438

9.2.5 創建ContentProvider的說明 440

實例:使用ContentProvider共享生詞本數據 441

9.3 作業系統的ContentProvider 446

9.3.1 使用ContentProvider管理聯繫人 446

9.3.2 使用ContentProvider管理多媒體內容 452

9.4 監聽ContentProvider的數據改變 455

9.4.1 ContentObserver簡介 455

實例:監聽用戶發出的簡訊 456

9.5 本章小結 457

第10章 Service與BroadcastReceiver 458

10.1 Service簡介 459

10.1.1 創建、配置Service 459

10.1.2 啟動和停止Service 461

10.1.3 綁定本地Service並與之通信 462

10.1.4 Service的生命周期 466

10.1.5 使用IntentService 467

10.2 電話管理器(TelephonyManager) 470

實例:獲取網路和SIM卡信息 470

實例:監聽手機來電 472

10.3 簡訊管理器(SmsManager) 473

實例:傳送簡訊 473

實例:簡訊群發 474

10.4 音頻管理器(AudioManager) 477

10.4.1 AudioManager簡介 477

實例:使用AudioManager控制手機音頻 477

10.5 振動器(Vibrator) 479

10.5.1 Vibrator簡介 479

10.5.2 使用Vibrator控制手機振動 479

10.6 手機鬧鐘服務(AlarmManager) 480

10.6.1 AlarmManager簡介 480

10.6.2 設定鬧鐘 481

實例:定時更換壁紙 483

10.7 接收廣播訊息 485

10.7.1 BroadcastReceiver簡介 485

10.7.2 傳送廣播 486

10.7.3 有序廣播 488

實例:基於Service的音樂播放器 490

10.8 接收系統廣播訊息 495

實例:開機自動運行的Service 495

實例:簡訊提醒 496

實例:手機電量提示 497

10.9 本章小結 498

第11章 多媒體套用開發 499

11.1 音頻和視頻的播放 500

11.1.1 使用MediaPlayer播放音頻 500

11.1.2 音樂特效控制 503

實例:音樂的示波器、均衡、重低音和音場 505

11.1.3 使用SoundPool播放音效 511

11.1.4 使用VideoView播放視頻 513

11.1.5 使用MediaPlayer和SurfaceView播放視頻 515

11.2 使用MediaRecorder錄製音頻 518

實例:錄製音樂 519

11.3 控制攝像頭拍照 521

11.3.1 使用Android 5.0的Camera v2拍照 521

實例:拍照時自動對焦 522

11.3.2 錄製視頻短片 530

實例:錄製生活短片 530

11.4 Android 5.0新增的螢幕捕捉 533

11.5 本章小結 536

第12章 OpenGL與3D開發 537

12.1 3D圖形與3D開發的基本知識 538

12.2 OpenGL和OpenGL ES簡介 539

12.3 繪製2D圖形 540

12.3.1 在Android套用中使用OpenGL ES 540

12.3.2 繪製平面上的多邊形 542

12.3.3 旋轉 548

12.4 繪製3D圖形 550

12.4.1 構建3D圖形 550

12.4.2 套用紋理貼圖 554

12.5 本章小結 559

第13章 Android網路套用 560

13.1 基於TCP協定的網路通信 561

13.1.1 TCP協定基礎 561

13.1.2 使用ServerSocket創建TCP伺服器端 562

13.1.3 使用Socket進行通信 563

13.1.4 加入多執行緒 567

13.2 使用URL訪問網路資源 573

13.2.1 使用URL讀取網路資源 573

13.2.2 使用URLConnection提交請求 575

13.3 使用HTTP訪問網路 580

13.3.1 使用HttpURLConnection 580

實例:多執行緒下載 580

13.3.2 使用Apache HttpClient 585

實例:訪問被保護資源 586

13.4 Android 5.0增強的WebView 590

13.4.1 使用WebView瀏覽網頁 590

實例:迷你瀏覽器 590

13.4.2 使用WebView載入HTML代碼 591

13.4.3 使用WebView中的JavaScript調用Android方法 592

13.5 使用Web Service進行網路編程 595

13.5.1 Web Service平台概述 595

13.5.2 使用Android套用調用Web Service 597

實例:調用基於CXF的Web Service 598

13.6 本章小結 601

第14章 管理Android手機桌面 602

14.1 管理手機桌面 603

14.1.1 刪除桌面組件 603

14.1.2 添加桌面組件 603

14.2 改變手機壁紙 604

14.2.1 開發動態壁紙(Live Wallpapers) 605

實例:蜿蜒壁紙 605

14.3 通過程式添加捷徑 609

實例:讓程式占領桌面 609

14.4 管理桌面控制項 611

14.4.1 開發桌面控制項 611

實例:液晶時鐘 614

14.4.2 顯示帶數據集的桌面控制項 616

14.5 本章小結 620

第15章 感測器套用開發 621

15.1 利用Android的感測器 622

15.2 Android的常用感測器 624

15.2.1 方向感測器 624

15.2.2 陀螺儀感測器 625

15.2.3 磁場感測器 625

15.2.4 重力感測器 625

15.2.5 線性加速度感測器 626

15.2.6 溫度感測器 626

15.2.7 光感測器 626

15.2.8 壓力感測器 626

15.2.9 Android 5.0新增的心率感測器 629

15.3 感測器套用案例 630

實例:指南針 630

實例:水平儀 631

15.4 本章小結 636

第16章 GPS套用開發 637

16.1 支持GPS的核心API 638

16.2 獲取LocationProvider 640

16.2.1 獲取所有可用的LocationProvider 640

16.2.2 通過名稱獲得指定LocationProvider 641

16.2.3 根據Criteria獲得LocationProvider 641

16.3 獲取定位信息 642

16.3.1 通過模擬器傳送GPS信息 642

16.3.2 獲取定位數據 642

16.4 臨近警告 644

16.5 本章小結 646

第17章 整合高德Map服務 647

17.1 調用高德Map服務 648

17.1.1 獲取Map API Key 648

17.1.2 高德地圖入門 650

17.2 根據GPS信息在地圖上定位 654

17.3 執行定位 660

17.3.1 地址解析與反向地址解析 660

17.3.2 執行定位 662

17.4 GPS導航 665

17.5 本章小結 669

第18章 合金彈頭 670

18.1 合金彈頭遊戲簡介 671

18.2 開發遊戲界面組件 671

18.2.1 遊戲界面分析 671

18.2.2 實現“怪物”類 672

18.2.3 實現怪物管理類 679

18.2.4 實現“子彈”類 683

18.2.5 實現“角色”類 686

18.3 實現繪圖工具類 691

18.4 載入、管理遊戲圖片 696

18.5 實現遊戲界面 699

18.5.1 實現遊戲Activity 699

18.5.2 實現主視圖 700

18.6 本章小結 710

第19章 電子拍賣系統 711

19.1 系統功能簡介和架構設計 712

19.1.1 系統功能簡介 712

19.1.2 系統架構設計 713

19.2 JSON簡介 714

19.2.1 使用JSON語法創建對象 715

19.2.2 使用JSON語法創建數組 716

19.2.3 Java的JSON支持 717

19.3 傳送請求的工具類 717

19.4 用戶登錄 719

19.4.1 處理登錄的Servlet 719

19.4.2 用戶登錄客戶端 720

19.5 查看流拍物品 728

19.5.1 查看流拍物品的Servlet 728

19.5.2 查看流拍物品客戶端 729

19.6 管理物品種類 734

19.6.1 瀏覽物品種類的Servlet 734

19.6.2 查看物品種類 735

19.6.3 添加種類的Servlet 740

19.6.4 添加物品種類 740

19.7 管理拍賣物品 742

19.7.1 查看自己的拍賣物品的Servlet 743

19.7.2 查看自己的拍賣物品 743

19.7.3 添加拍賣物品的Servlet 747

19.7.4 添加拍賣物品 748

19.8 參與競拍 753

19.8.1 選擇物品種類 754

19.8.2 根據種類瀏覽物品的Servlet 755

19.8.3 根據種類瀏覽物品 756

19.8.4 參與競價的Servlet 758

19.8.5 參與競價 758

19.9 許可權控制 763

19.10 本章小結 765  

相關詞條

熱門詞條

聯絡我們