第1章 android應用與開發環境 1
1.1 android的發展和曆史 2
1.1.1 android的發展和簡介 2
1.1.2 android平颱架構及特性 3
1.2 搭建android開發環境 5
1.2.1 下載和安裝android sdk 5
1.2.2 安裝eclipse和adt插件 7
1.3 android常用開發工具的用法 10
1.3.1 創建、刪除和瀏覽avd 10
1.3.2 使用android模擬器
(emulator) 14
1.3.3 使用ddms進行調試 15
1.3.4 android debug bridge(adb)
的用法 16
1.3.5 使用dx編譯android應用 18
1.3.6 使用android asset packaging
tool(aapt)打包資源 19
1.3.7 使用mksdcard管理虛擬sd卡 19
1.4 開始第一個android應用 20
1.4.1 使用eclipse開發第一個
android應用 20
1.4.2 通過adt運行android應用 23
1.5 android應用結構分析 24
1.5.1 創建一個android應用 24
1.5.2 自動生成的r.java 26
1.5.3 res目錄說明 27
1.5.4 android應用的清單文件:
androidmanifest.xml 28
1.5.5 應用程序權限說明 29
1.6 android應用的基本組件
介紹 31
1.6.1 activity和view 31
1.6.2 service 32
1.6.3 broadcastreceiver 32
1.6.4 contentprovider 32
1.6.5 intent和intentfilter 33
1.7 本章小結 33
第2章 android應用的界麵編程 35
2.1 界麵編程與視圖(view)組件 36
2.1.1 視圖組件與容器組件 36
2.1.2 使用xml布局文件控製ui
界麵 40
2.1.3 在代碼中控製ui界麵 41
2.1.4 使用xml布局文件和java
代碼混閤控製ui界麵 42
2.1.5 開發自定義view 43
2.2 布局管理器 46
2.2.1 綫性布局 47
2.2.2 錶格布局 49
2.2.3 幀布局 52
2.2.4 相對布局 55
2.2.5 絕對布局 58
2.3 基本界麵組件 60
2.3.1 文本框(textview)與編輯框
(edittext)的功能和用法 60
2.3.2 按鈕(button)與圖片按鈕(imagebutton)組件的功能和
用法 66
2.3.3 使用9patch圖片作為按鈕背景 68
2.3.4 單選按鈕(radiobutton)和復選
框(checkbox)介紹與應用 69
2.3.5 狀態開關按鈕(togglebutton)
的功能與用法 71
2.3.6 時鍾(analogclock和digital
clock)的功能與功法 73
2.3.7 圖像視圖(imageview)的
功能和用法 75
2.4 高級界麵組件 79
2.4.1 自動完成文本框(autocompletetextview)的
功能和用法 79
2.4.2 spinner的功能和用法 80
2.4.3 日期、時間選擇器(datepicker
和timepicker)的功能和用法 83
2.4.4 進度條(progressbar)的
功能和用法 85
2.4.5 拖動條(seekbar)的功能和
用法 90
2.4.6 星級評分條(ratingbar)的
功能和用法 91
2.4.7 選項卡(tabhost)的功能和
用法 93
2.4.8 滾動視圖(scrollview)的
功能和用法 95
2.4.9 列錶視圖(listview和
listactivity) 95
2.4.10 可展開的列錶組件(expandablelistview) 101
2.4.11 網格視圖(gridview)和
圖像切換器(imageswitcher)
功能和用法 104
2.4.12 畫廊視圖(gallery)的功能和
用法 107
2.5 對話框 110
2.5.1 使用alertdialog創建簡單
對話框 110
2.5.2 使用alertdialog創建列錶
對話框 112
2.5.3 使用alertdialog創建自定義
對話框 116
2.5.4 使用popupwindow 121
2.5.5 使用datepickerdialog、timepickerdialog 123
2.5.6 使用progressdialog創建進度
對話框 125
2.6 消息提示 127
2.6.1 使用toast顯示提示信息框 128
2.6.2 notification的功能與用法 129
2.7 菜單 132
2.7.1 選項菜單和子菜單
(submenu) 132
2.7.2 使用監聽器來監聽菜單事件 136
2.7.3 創建復選菜單項和單選菜單項 137
2.7.4 設置與菜單項關聯的activity 140
2.7.5 上下文菜單 141
2.8 本章小結 143
第3章 事件處理 144
3.1 android的事件處理 145
3.2 基於監聽的事件處理 145
3.2.1 事件監聽的處理模型 145
3.2.2 事件和事件監聽器 148
3.2.3 內部類作為事件監聽器類 151
3.2.4 外部類作為事件監聽器類 152
3.2.5 activity本身作為事件監聽器 153
3.2.6 匿名內部類作為事件監聽器類 154
3.2.7 直接綁定到標簽 155
3.3 基於迴調的事件處理 156
3.3.1 迴調機製與監聽機製 156
3.3.2 基於迴調的事件傳播 158
3.3.3 重寫ontouchevent方法響應
觸摸屏事件 160
3.4 響應的係統設置的事件 162
3.4.1 configuration類簡介 162
3.4.2 重寫onconfigurationchanged
響應係統設置更改 164
3.5 handler消息傳遞機製 166
3.5.1 handler類簡介 166
3.5.2 handler使用案例 167
3.6 本章小結 168
第4章 深入理解activity 169
4.1 建立、配置和使用activity 170
4.1.1 建立activity 170
4.1.2 配置activity 177
4.1.3 啓動、關閉activity 179
4.1.4 使用bundle在activity之間
交換數據 181
4.1.5 啓動其他activity並返迴結果 185
4.2 activity的迴調機製 189
4.3 activity的生命周期 190
4.3.1 activity的生命周期演示 190
4.3.2 activity與servlet的相似性與
區彆 194
4.4 本章小結 195
第5章 使用intent和intentfilter
第5章 進行通信 196
5.1 intent對象詳解 197
5.1.1 使用intent啓動係統組件 197
5.2 intent的屬性及intent-filter
配置 198
5.2.1 component屬性 198
5.2.2 action、category屬性與
intent-filter配置 200
5.2.3 指定action、category調用
係統activity 204
5.2.4 data、type屬性與intent-filter
配置 209
5.2.5 extra屬性 211
5.3 使用intent創建tab頁麵 211
5.4 本章小結 212
第6章 android應用的資源 213
6.1 資源的類型及存儲方式 214
6.1.1 資源的類型以及存儲方式 214
6.1.2 使用資源 216
6.2 使用字符串、顔色、
尺寸資源 217
6.2.1 顔色值的定義 217
6.2.2 定義字符串、顔色、尺寸資源
文件 218
6.2.3 使用字符串、顔色、
尺寸資源 219
6.3 數組(array)資源 222
6.4 使用(drawable)資源 225
6.4.1 圖片資源 225
6.4.2 statelistdrawable資源 225
6.4.3 layerdrawable資源 227
6.4.4 shapedrawable資源 229
6.4.5 clipdrawable資源 231
6.4.6 animationdrawable資源 233
6.5 使用原始xml資源 236
6.5.1 定義原始xml資源 236
6.5.2 使用原始xml文件 237
6.6 使用布局(layout)資源 239
6.7 使用菜單(menu)資源 239
6.7.1 定義菜單資源 239
6.7.2 使用菜單資源 240
6.8 樣式(style)和主題(theme)
資源 243
6.8.1 樣式資源 243
6.8.2 主題資源 245
6.9 屬性(attribute)資源 247
6.10 使用原始資源 249
6.11 國際化和資源自適應 251
6.11.1 java國際化的思路 252
6.11.2 java支持的語言和國傢 252
6.11.3 完成程序國際化 253
6.11.4 為android應用提供國際化
資源 255
6.11.5 國際化android應用 256
6.12 本章小結 258
第7章 圖形與圖像處理 259
7.1 使用簡單圖片 260
7.1.1 使用drawable對象 260
7.1.2 bitmap和bitmapfactory 260
7.2 繪圖 263
7.2.1 android繪圖基礎:canvas、
paint等 263
7.2.2 path類 267
7.2.3 繪製遊戲動畫 270
7.3 圖形特效處理 278
7.3.1 使用matrix控製變換 278
7.3.2 使用drawbitmapmesh扭麯
圖像 282
7.3.3 使用shader填充圖形 285
7.4 逐幀(frame)動畫 288
7.4.1 animationdrawable與逐幀
動畫 288
7.5 補間(tween)動畫 292
7.5.1 tween動畫與interpolator 292
7.5.2 位置、大小、鏇轉度、透明度
改變的補間動畫 293
7.5.3 自定義補間動畫 298
7.6 使用surfaceview實現動畫 300
7.6.1 surfaceview的繪圖機製 301
7.7 本章小結 305
第8章 android的數據存儲和io 306
8.1 使用sharedpreferences 307
8.1.1 sharedpreferences與editor
簡介 307
8.1.2 sharedpreferences的存儲
位置和格式 308
8.1.3 讀、寫其他應用shared
preferences 310
8.2 file存儲 311
8.2.1 openfileoutput和open
fileinput 312
8.2.2 讀寫sd卡上的文件 314
8.3 sqlite數據庫 321
8.3.1 簡介sqlitedatabase 321
8.3.2 創建數據庫和錶 323
8.3.3 使用sql語句操作sqlite
數據庫 323
8.3.4 使用sqlite3工具 325
8.3.5 使用特定方法操作sqlite
數據庫 327
8.3.6 事務 329
8.3.7 sqliteopenhelper類 330
8.4 手勢(gesture) 335
8.4.1 手勢檢測 335
8.4.2 增加手勢 342
8.4.3 識彆用戶的手勢 346
8.5 自動朗讀(tts) 347
8.6 本章小結 350
第9章 使用contentprovider實現
第9章 數據共享 351
9.1 數據共享標準:
contentprovider簡介 352
9.1.1 contentprovider簡介 352
9.1.2 uri簡介 353
9.1.3 使用contentresolver操作
數據 354
9.2 操作係統的contentprovider 355
9.2.1 使用contentprovider管理
聯係人 355
9.2.2 使用contentprovider管理
多媒體內容 360
9.3 實現contentprovider 364
9.3.1 創建contentprovider的步驟 364
9.4 監聽contentprovider的數據
改變 370
9.4.1 contentobserver簡介 370
9.5 本章小結 372
第10章 service與broadcast
第10章 receiver 373
10.1 service簡介 374
10.1.1 創建、配置service 374
10.1.2 啓動和停止service 376
10.1.3 綁定本地service並與之
通信 377
10.1.4 service的生命周期 381
10.2 跨進程調用service
(aidl服務) 382
10.2.1 aidl服務簡介 382
10.2.2 創建aidl文件 383
10.2.3 將接口暴露給客戶端 383
10.2.4 客戶端訪問aidlservice 385
10.3 電話管理器
(telephonymanager) 393
10.4 短信管理器(smsmanager) 400
10.5 音頻管理器
(audiomanager) 404
10.5.1 audiomanager簡介 404
10.6 振動器(vibrator) 407
10.6.1 vibrator簡介 407
10.6.2 使用vibrator控製手機振動 407
10.7 手機鬧鍾服務
(alarmmanager) 408
10.7.1 alarmmanager簡介 408
10.7.2 設置鬧鍾 409
10.8 接收廣播消息 413
10.8.1 broadcastreceiver簡介 413
10.8.2 發送廣播 414
10.8.3 有序廣播 416
10.9 接收係統廣播消息 424
10.10 本章小結 427
第11章 多媒體應用開發 428
11.1 音頻和視頻的播放 429
11.1.1 使用mediaplayer播放音頻 429
11.1.2 使用soundpool播放音效 432
11.1.3 使用videoview播放視頻 435
11.1.4 使用mediaplayer和
surfaceview播放視頻 436
11.2 使用mediarecorder錄製
音頻 439
11.3 控製攝像頭拍照 442
11.3.1 通過camera進行拍照 442
11.3.2 錄製視頻短片 446
11.4 本章小結 450
第12章 opengl與3d應用開發 451
12.1 3d圖像與3d開發的
基本知識 452
12.2 opengl和opengl es簡介 453
12.3 繪製2d圖形 454
12.3.1 在android應用中使用
opengl es 454
12.3.2 繪製平麵上的多邊形 457
12.3.3 鏇轉 463
12.4 繪製3d圖形 465
12.4.1 構建3d圖形 465
12.4.2 應用紋理貼圖 469
12.5 本章小結 475
第13章 android的網絡應用 476
13.1 基於tcp協議的網絡通信 477
13.1.1 tcp協議基礎 477
13.1.2 使用serversocket創建
tcp服務器端 478
13.1.3 使用socket進行通信 479
13.1.4 加入多綫程 483
13.2 使用url訪問網絡資源 488
13.2.1 使用url讀取網絡資源 489
13.2.2 使用urlconnection
提交請求 490
13.3 使用http訪問網絡 496
13.3.1 使用httpurlconnection 496
13.3.2 使用apache httpclient 501
13.4 使用webview視圖
顯示網頁 505
13.4.1 使用webview瀏覽網頁 506
13.4.2 使用webview加載html
代碼 507
13.5 使用web service進行
網絡編程 508
13.5.1 web service簡介 509
13.5.2 web service平颱概述 510
13.5.3 使用android應用調用
web service 512
13.6 本章小結 524
第14章 管理android手機桌麵 525
14.1 管理手機桌麵 526
14.1.1 刪除桌麵組件 526
14.1.2 添加桌麵組件 526
14.2 改變手機壁紙 527
14.2.1 開發實時壁紙
(live wallpapers) 528
14.3 桌麵快捷方式 532
14.3.1 在桌麵上創建快捷方式 532
14.3.2 嚮launcher添加快捷方式 534
14.4 管理桌麵小控件 535
14.5 實時文件夾(livefolder) 539
14.5.1 使用實時文件夾顯示
contentprovider的數據 540
14.6 本章小結 545
第15章 傳感器應用開發 546
15.1 利用android的傳感器 547
15.1.1 開發傳感器應用 547
15.1.2 下載和安裝sensorsimulator 549
15.1.3 利用sensorsimulator開發
傳感器應用 551
15.2 android的常用傳感器 553
15.2.1 方嚮傳感器orientation 553
15.2.2 磁場傳感器magnetic field 554
15.2.3 溫度傳感器temperature 554
15.2.4 光傳感器light 554
15.2.5 壓力傳感器pressure 554
15.3 傳感器應用案例 557
15.4 本章小結 564
第16章 gps應用開發 565
16.1 支持gps的核心api 566
16.2 獲取locationprovider 568
16.2.1 獲取所有可用的
locationprovider 568
16.2.2 通過名稱獲得指定
locationprovider 569
16.2.3 根據criteria獲得
locationprovider 569
16.3 獲取定位信息 570
16.3.1 通過模擬器發送gps信息 571
16.3.2 獲取定位數據 571
16.4 臨近警告 573
16.5 本章小結 575
第17章 使用google map服務 576
17.1 調用google map的準備 577
17.1.1 獲取map api key 577
17.1.2 創建支持google map api的
avd 580
17.2 根據gps信息在地圖上
定位 582
17.3 gps導航 588
17.4 根據地址定位 590
17.4.1 地址解析與反嚮地址解析 590
17.4.2 根據地址定位 595
17.5 本章小結 597
第18章 瘋狂連連看 598
18.1 連連看遊戲簡介 599
18.2 開發遊戲界麵 600
18.2.1 開發界麵布局 600
18.2.2 開發遊戲界麵組件 601
18.2.3 處理方塊之間的連接綫 605
18.3 連連看的狀態數據模型 606
18.3.1 定義數據模型 606
18.3.2 初始化遊戲狀態數據 606
18.4 加載界麵的圖片 610
18.5 實現遊戲activity 612
18.6 實現遊戲邏輯 618
18.6.1 定義gameservice組件接口 618
18.6.2 實現gameservice組件 619
18.6.3 獲取觸碰點的方塊 620
18.6.4 判斷兩個方塊是否可以相連 622
18.6.5 定義獲取通道的工具方法 623
18.6.6 沒有轉摺點的橫嚮連接 625
18.6.7 沒有轉摺點的縱嚮連接 626
18.6.8 一個轉摺點的連接 626
18.6.9 兩個轉摺點的連接 629
18.6.10 找齣最短距離 636
18.7 本章小結 638
第19章 電子拍賣係統 639
19.1 係統功能簡介和架構設計 640
19.1.1 係統功能簡介 640
19.1.2 係統架構設計 641
19.2 json簡介 643
19.2.1 使用json語法創建對象 643
19.2.2 使用json語法創建數組 644
19.2.3 java的json支持 645
19.3 發送請求的工具類 646
19.4 用戶登錄 647
19.4.1 處理登錄的servlet 648
19.4.2 用戶登錄 649
19.5 查看流拍物品 655
19.5.1 查看流拍物品的servlet 655
19.5.2 查看流拍物品 656
19.6 管理物品種類 661
19.6.1 瀏覽物品種類的servlet 661
19.6.2 查看物品種類 662
19.6.3 添加種類的servlet 666
19.6.4 添加物品種類 666
19.7 管理拍賣物品 668
19.7.1 查看自己的拍賣物品的
servlet 668
19.7.2 查看自己的拍賣物品 669
19.7.3 添加拍賣物品的servlet 672
19.7.4 添加拍賣物品 673
19.8 參與競拍 678
19.8.1 選擇物品種類 678
19.8.2 根據種類瀏覽物品的servlet 680
19.8.3 根據種類瀏覽物品 680
19.8.4 參與競價的servlet 682
19.8.5 參與競價 683
19.9 權限控製 688
19.10 本章小結 689
· · · · · · (
收起)