Android實例開發完全手冊

Android實例開發完全手冊

《Android實例開發完全手冊》是2012年7月人民郵電出版社出版的圖書,作者是陳強。

基本介紹

  • 書名:Android實例開發完全手冊
  • 作者:陳強
  • ISBN:9787115282842
  • 頁數:775
  • 定價:99.00元
  • 出版社人民郵電出版社
  • 出版時間:2012-7
內容簡介,圖書目錄,

內容簡介

《Android實例開發完全手冊》內容簡介:Android憑藉其開源開放性、優異的用戶體驗和極為方便的開發方式,贏得了廣大用戶和開發者的青睞,目前已經發展成為智慧型手機作業系統的翹楚。《Android實例開發完全手冊》言簡意賅、通俗易懂、實例全面並典型,幾乎囊括了所有的和Android套用相關的項目。分為16個章,分別講解了UI布局實例、控制項實例、自動化服務實例、數據存儲實例、電話和簡訊實例、圖形圖像實例和網路有關的實例,以及多媒體實例、Google地圖實例。Google API實例、平板電腦套用開發、遊戲套用、程式最佳化等。
《Android實例開發完全手冊》適合Android程式設計師、研發人員及Android愛好者學習,也可以作為相關培訓學校和大專院校相關專業的教學用書。

圖書目錄

第1章 正式開發前的準備 1
1.1 Windows下安裝Java環境JDK 1
1.1.1 實例說明 1
1.1.2 具體實現 2
1.1.3 特別提醒——檢測是否安裝成功 4
1.2 在Windows環境下安裝Eclipse 5
1.2.1 實例說明 5
1.2.2 具體實現 5
1.2.3 特別提醒——為Eclipse建立捷徑 7
1.3 在Windows環境下安裝Android SDK 7
1.1.1 實例說明 8
1.1.2 具體實現 8
1.3.3 特別提醒——不同的SDK版本 10
1.4 在Windows環境下安裝ADT 10
1.4.1 實例說明 10
1.4.2 具體實現 10
1.4.3 特別提醒——不用擔心安裝過程慢 12
1.5 將Android SDK和Eclipse相關聯 12
1.5.1 實例說明 12
1.5.2 具體實現 12
1.5.3 特別提醒——不關聯啟動SDK的方法 12
1.6 驗證Android開發環境 14
1.6.1 實例說明 14
1.6.2 具體實現 14
1.6.3 特別提醒——快速運行Android的訣竅 14
1.7 使用CMD方式創建Android虛擬設備 15
1.7.1 實例說明 15
1.7.2 具體實現 16
1.7.3 特別提醒 17
1.8 使用圖形界面方式創建AVD模擬器 19
1.8.1 實例說明 19
1.8.2 具體實現 19
1.8.3 特別提醒——刪除/修改AVD 20
1.9 手動更新Android SDK 21
1.9.1 實例說明 22
1.9.2 具體實現 22
1.9.3 特別提醒——自定義選擇安裝的SDK 23
1.10 單獨下載的方式來更新Android SDK 24
1.10.1 實例說明 24
1.10.2 具體實現 24
1.10.3 特別提醒——快速安裝Android SDK的訣竅 25
1.11 在Linux環境下搭建Android平台 25
1.11.1 實例說明 25
1.11.2 具體實現 26
1.11.3 特別提醒 26
1.12 蘋果Mac環境下搭建Android平台 27
1.12.1 實例說明 27
1.12.2 具體實現 28
1.12.3 特別提醒——都是一個原理 30
1.13 搭建過程中的常見錯誤 30
1.13.1 實例說明 30
1.13.2 最常見的三個錯誤 30
1.13.3 特別提醒——其他錯誤 33
1.14 第一個Android程式 34
1.14.1 實例說明 34
1.14.2 具體實現 34
1.14.3 特別提醒——解決模擬器運行時間長而引發的錯誤 36
1.15 向Eclipse中導入Android程式 37
1.15.1 實例說明 37
1.15.2 具體實現 37
1.15.3 特別提醒——一次向Eclipse中導入多個Android程式 38
1.16 斷點調試Android程式 39
1.16.1 實例說明 39
1.16.2 具體實現 40
1.16.3 特別提醒——其他調試方法 41
第2章 界面布局 42
2.1 使用線性布局(LinearLayout) 42
2.1.1 實例說明 42
2.1.2 具體實現 42
2.1.3 特別提醒——布局類型的繼承 43
2.2 使用相對布局(Relative Layout) 44
2.2.1 實例說明 44
2.2.2 具體實現 44
2.2.3 特別提醒——RelativeLayout效果結構 45
2.3 使用表格布局(TableLayout) 45
2.3.1 實例說明 46
2.3.2 具體實現 46
2.3.3 特別提醒——使用表格布局的注意事項 47
2.4 使用絕對布局(AbsoluteLayout) 47
2.4.1 實例說明 47
2.4.2 具體實現 47
2.4.3 特別提醒——為什麼不推薦使用AbsoluteLayout 48
2.5 使用標籤布局(TabLayout) 48
2.5.1 實例說明 48
2.5.2 具體實現 48
2.5.3 特別提醒——計算器的升級理念 50
2.6 使用層布局(FrameLayout) 50
2.6.1 實例說明 50
2.6.2 具體實現 50
2.6.3 特別提醒——層與層的覆蓋 50
2.7 演示Layout布局的綜合套用 51
2.7.1 實例說明 51
2.7.2 具體實現 51
2.7.3 特別提醒——設定的圖片不能太大 57
2.8 創建一個桌面組件Widget 57
2.8.1 實例說明 57
2.8.2 具體實現 58
2.8.3 特別提醒——其他的實例 58
2.9 在螢幕中實現一個按鈕效果 58
2.9.1 實例說明 58
2.9.2 具體實現 59
2.9.3 特別提醒——更加漂亮的按鈕 60
2.10 在螢幕中顯示文字 60
2.10.1 實例說明 60
2.10.2 具體實現 61
2.10.3 特別提醒——Color屬性代表的顏色 63
2.11 設定手機螢幕中的字型 63
2.11.1 實例說明 63
2.11.2 具體實現 63
2.11.3 特別提醒——更改TextView文字的顏色 65
2.12 在螢幕中顯示編輯框 66
2.12.1 實例說明 67
2.12.2 具體實現 67
2.12.3 特別提醒——限制文本框中文字字數 68
2.14 在螢幕中顯示複選框 70
2.14.1 實例說明 70
2.14.2 具體實現 70
2.14.3 特別提醒——RadioButton(單選框)控制項 71
2.15 在螢幕中顯示單選框 72
2.15.1 實例說明 72
2.15.2 具體實現 72
2.15.3 特別提醒——按鈕的不同狀態 73
2.16 在螢幕中顯示下拉列表框 74
2.16.1 實例說明 74
2.16.2 具體實現 74
2.16.3 特別提醒——Spinner的屬性和方法 77
2.17 在螢幕中實現自動輸入文本效果 77
2.17.1 實例說明 77
2.17.2 具體實現 77
2.17.3 特別提醒——下拉框的霧化效果 79
2.18 使用日期選擇器控制項DatePicker 79
2.18.1 實例說明 79
2.18.2 具體實現 79
2.18.3 特別提醒——控制項DatePicker中的方法 80
2.19 使用時間選擇器控制項TimePicker 81
2.19.1 實例說明 81
2.19.2 具體實現 81
2.19.3 特別提醒——在螢幕中同時顯示日期和時間 82
2.20 在螢幕內實現滾動效果 85
2.20.1 實例說明 85
2.20.2 具體實現 85
2.20.3 特別提醒——解決ScrollView控制項中的內容不能完整顯示的問題 85
2.21 在螢幕內實現進度條效果 86
2.21.1 實例說明 86
2.22.2 具體實現 87
2.22.3 特別提醒——為控制項Progressbar設定樣式 88
2.23 在螢幕內使用拖動條功能 89
2.23.1 實例說明 89
2.23.2 具體實現 89
2.23.3 特別提醒——在拖動條中顯示提示文字 90
2.24 在螢幕內使用評分組件 90
2.24.1 實例說明 90
2.24.2 具體實現 90
2.24.3 特別提醒——使用RatingBar控制項的流程 91
2.25 在螢幕內顯示一副圖片 92
2.25.1 實例說明 92
2.25.2 具體實現 92
2.25.3 特別提醒——製作一個相框 93
2.26 設定一副圖片當作按鈕 95
2.26.1 實例說明 95
2.26.2 具體實現 95
2.26.3 特別提醒——圖片按鈕控制項的事件回響 96
2.27 實現類似QQ空間的照片效果 97
2.27.1 實例說明 97
2.27.2 具體實現 97
2.27.3 特別提醒——ImageSwitcher控制項的三個方法 99
2.28 使用格線視圖控制項布局螢幕 99
2.28.1 實例說明 99
2.28.2 具體實現 100
2.28.3 特別提醒——升級實例 102
2.29 在螢幕內實現多個標籤欄樣式的效果 102
2.29.1 實例說明 102
2.29.2 具體實現 102
2.29.3 特別提醒——TabView的標準用法格式 103
第3章 基本控制項套用 104
3.1 使用EditText控制項和setOnKeyListener事件實現文本處理 104
3.1.1 實例說明 104
3.1.2 具體實現 104
3.1.3 特別提醒——實現文字過濾 105
3.2 在螢幕中實現一個背景圖片按鈕 106
3.2.1 實例說明 106
3.2.2 具體實現 106
3.2.3 特別提醒——“res/drawable”目錄的作用 108
3.3 使用Toast實現提醒 108
3.3.1 實例說明 108
3.3.2 具體實現 109
3.3.3 特別提醒——Toast的優勢 110
3.4 用RadioGroup控制項實現選擇處理 112
3.4.1 實例說明 112
3.4.2 具體實現 112
3.4.3 特別提醒——RadioGroup控制項的特殊作用 113
3.5 使用CheckBox實現一個購物清單 114
3.5.1 實例說明 114
3.5.2 具體實現 114
3.5.3 特別提醒——套用觸控螢幕技術 116
3.6 使用CheckBox實現同意條款效果 117
3.6.1 實例說明 117
3.6.2 具體實現 117
3.6.3 特別提醒——處理CheckBox的狀態 119
3.7 使用ImageView控制項實現相框效果 120
3.7.1 實例說明 120
3.7.2 具體實現 120
3.7.3 特別提醒——ImageButton的按鈕切換 122
3.8 使用Spinner實現選擇處理 122
3.8.1 實例說明 122
3.8.2 具體實現 123
3.8.3 特別提醒——設定下拉選單中的TextView 125
3.9 使用Gallery控制項實現個人相簿功能 125
3.9.1 實例說明 125
3.9.2 具體實現 126
3.9.3 特別提醒——設定Gallery圖片的寬高 128
3.10 在手機中實現檔案搜尋功能 128
3.10.1 實例說明 128
3.10.2 具體實現 128
3.10.3 特別提醒——搜尋子目錄 130
3.11 使用ImageButton控制項實現按鈕置換功能 130
3.11.1 實例說明 130
3.11.2 具體實現 131
3.11.3 特別提醒——操作顯示的默認圖片 132
3.12 使用AnalogClock實現一個時鐘效果 132
3.12.1 實例說明 132
3.12.2 具體實現 132
3.13.3 特別提醒——三種常用的System Clock 134
3.14 在手機螢幕中實現不同的進度條效果 134
3.14.1 實例說明 134
3.14.2 具體實現 135
3.14.3 特別提醒——在進度條中的4種不同風格 137
3.15 在螢幕中手動選擇日期和時間 138
3.15.1 實例說明 138
3.15.2 具體實現 138
3.15.3 特別提醒——控制項TimePicker中的主要方法 140
3.16 動態排版手機螢幕 140
3.16.1 實例說明 140
3.16.2 具體實現 140
3.16.3 特別提醒——總結UI界面布局 142
3.17 使用ListActivity實現界面布局 143
3.17.1 實例說明 143
3.17.2 具體實現 143
3.17.3 特別提醒——ListActivity的用法總結 145
3.18 載入手機磁碟中的檔案 1463.18.1 實例說明 146
3.18.2 具體實現 146
3.18.3 特別提醒——解析Android中的圖片素材目錄 148
3.19 使用選單控制項MENU 149
3.19.1 實例說明 149
3.19.2 具體實現 149
3.19.3 特別提醒——Android系統中的3種選單類型 151
3.20 使用SimpleAdapter實現ListView效果 151
3.20.1 實例說明 152
3.20.2 具體實現 152
3.20.3 特別提醒——ArrayAdapter接受一個數組或者List作為參數 153
3.21 在螢幕中實現抽屜樣式效果 154
3.21.1 實例說明 154
3.21.2 具體實現 155
3.21.3 特別提醒——實現可拖拉的抽屜效果 159
3.22 在螢幕中演示使用多種對話框 162
3.22.1 實例說明 163
3.22.2 具體實現 163
3.22.3 特別提醒——自定義消除alertdialog的黑、白框線 167
3.23 聯合使用Toast和Notification實現提醒 169
3.23.1 實例說明 169
3.23.2 具體實現 170
3.23.3 特別提醒——更新通知信息 176
3.24 動態添加/刪除Spinner選單 176
3.24.1 實例說明 177
3.24.2 具體實現 177
3.24.3 特別提醒——改變TextView內容 180
3.25 自定義一個Android控制項 180
3.25.1 實例說明 180
3.25.2 具體實現 180
3.25.3 特別提醒——將屬性值綁定到控制項的基本步驟 184
3.26 設定控制項的外觀樣式 185
3.26.1 實例說明 185
3.26.2 具體實現 185
3.26.3 特別提醒——查看Android開原始碼 186
3.27 使用自定義控制項在螢幕中繪製一條虛線 187
3.27.1 實例說明 187
3.27.2 具體實現 188
3.27.3 特別提醒——總結實現自定義控制項的流程 189
3.28 實現自定義組合控制項和自定義對話框 189
3.28.1 實例說明 189
3.28.2 具體實現 190
3.28.3 特別提醒——應吸取的經驗 194
3.29 使用OptionsMenu在螢幕中自定義選單 194
3.29.1 實例說明 194
3.29.2 具體實現 195
3.29.3 特別提醒——編寫自定義樣式 196
3.30 使用ExpandableListView實現手風琴效果 198
3.30.1 實例說明 199
3.30.2 具體實現 199
3.30.3 特別提醒——ExpandableListAdapter接口 200
3.31 基於自定義適配器的ExpandableListView 200
3.31.1 實例說明 201
3.31.2 具體實現 201
3.31.3 特別提醒——實現規整的布局 204
3.32 使用Chronometer在螢幕中實現定時器效果 206
3.32.1 實例說明 206
3.32.2 具體實現 206
3.32.3 特別提醒——進一步設定時間 208
3.33 使用控制項SlidingDrawer在螢幕中實現滑動式抽屜的效果 208
3.33.1 實例說明 208
3.33.2 具體實現 209
3.33.3 特別提醒——布局SlidingDrawer裡面的控制項 210
第4章 螢幕顯示套用 212
4.1 在螢幕中輸出顯示一段文字 212
4.1.1 實例說明 212
4.1.2 具體實現 212
4.1.3 特別提醒——處理超出螢幕寬度的文字 213
4.2 更改螢幕背景顏色 213
4.2.1 實例說明 213
4.2.2 具體實現 213
4.2.3 特別提醒——“res/values”目錄保存設定顏色 215
4.3 更改螢幕中的文字顏色 215
4.3.1 實例說明 215
4.3.2 具體實現 215
4.3.3 特別提醒——遵循MVC開發模式 216
4.5 置換螢幕中TextView文字的顏色 217
4.4.1 實例說明 217
4.4.2 具體實現 217
4.4.3 特別提醒——使用轉義字元 218
4.5 獲取手機螢幕的解析度 218
4.5.1 實例說明 218
4.5.2 具體實現 219
4.5.3 特別提醒——DisplayMetrics的用法 219
4.6 設定螢幕中的文字樣式 220
4.6.1 實例說明 220
4.6.2 具體實現 220
4.6.3 特別提醒——更改Layout中對象的外觀 221
4.7 回響按鈕事件 222
4.7.1 實例說明 222
4.7.2 具體實現 222
4.7.3 特別提醒——兩個注意事項 222
4.8 實現螢幕界面的轉換 223
4.8.1 實例說明 223
4.8.2 具體實現 223
4.8.3 特別提醒——setContentView轉換螢幕界面 225
4.9 在一個Activity中調用另一個Activity 225
4.9.1 實例說明 225
4.9.2 具體實現 225
4.9.3 特別提醒——Intent的作用 227
4.10 計算標準體重 227
4.10.1 實例說明 227
4.10.2 具體實現 227
4.10.3 特別提醒——Activity的原理 230
4.11 將數據返回到前一個Activity 230
4.11.1 實例說明 230
4.11.2 具體實現 231
4.11.3 特別提醒——重新返回給主Activity1 234
4.12 單擊按鈕後改變文字顏色 234
4.12.1 實例說明 234
4.12.2 具體實現 234
4.12.3 特別提醒——使用HTML控制顏色 235
4.13 設定手機螢幕中文本的字型 236
4.13.1 實例說明 236
4.13.2 具體實現 236
4.13.3 特別提醒——使用字型的問題 237
4.14 在手機螢幕中實現拖動圖片特效 237
4.14.1 實例說明 237
4.14.2 具體實現 237
4.14.3 特別提醒——導入外部圖片作為內置圖 238
4.15 製作一個簡單的計算器 239
4.15.1 實例說明 239
4.15.2 具體實現 239
4.15.3 特別提醒——計算小數 240
4.16 在螢幕中實現一個About(關於)信息效果 240
4.16.1 實例說明 241
4.16.2 具體實現 241
4.16.3 特別提醒——實現一個確認對話框 242
4.17 在手機螢幕中實現程式載入效果 242
4.17.1 實例說明 242
4.17.2 具體實現 243
4.17.3 特別提醒——ProgressDialog類 244
4.18 創建一個有選擇項的對話框 244
4.18.1 實例說明 244
4.18.2 具體實現 245
4.18.3 特別提醒——AlertDialog.Builder的內部組成 246
4.19 改變手機的主題 246
4.19.1 實例說明 246
4.19.2 具體實現 247
4.19.3 特別提醒——設定Style 247
4.20 在螢幕中自動顯示輸入的數據 248
4.20.1 實例說明 248
4.20.2 具體實現 248
4.20.3 特別提醒——連結字元串的妙用 248
4.21 實現手機振動效果 249
4.21.1 實例說明 249
4.21.2 具體實現 250
4.21.3 特別提醒——Vibrator對象實現振動 253
4.22 實現圖文提醒效果 253
4.22.1 實例說明 253
4.22.2 具體實現 253
4.22.3 特別提醒——帶圖提醒的妙用 254
4.23 實現類似於MSN/QQ狀態效果 255
4.23.1 實例說明 255
4.23.2 具體實現 255
4.23.3 特別提醒——使用NotificationManager的基本步驟 258
4.24 檢索手機中的通訊錄 259
4.24.1 實例說明 259
4.24.2 具體實現 259
4.24.3 特別提醒——URL介紹和ContentResolver的用法剖析 262
4.25 管理手機系統中的檔案 264
4.25.1 實例說明 264
4.25.2 具體實現 264
4.25.3 特別提醒——同時顯示檔案名稱、圖示和資料夾名 268
4.26 清除、還原手機桌面 268
4.26.1 實例說明 268
4.26.2 具體實現 268
4.26.3 特別提醒——類ContextWrapper的根類 269
4.27 “修改/刪除”手機中的檔案 269
4.27.1 實例說明 270
4.27.2 具體實現 270
4.27.3 特別提醒——I/O類的操作流程 276
4.28 獲取當前運行程式的路徑 278
4.28.1 實例說明 278
4.28.2 具體實現 278
4.28.3 特別提醒——兩種表示目錄的方式 280
4.29 獲取手機內SIM卡的信息 281
4.29.1 實例說明 281
4.29.2 具體實現 282
4.29.3 特別提醒——SIM卡的意義 285
4.30 查看當前系統中正在運行的程式 285
4.30.1 實例說明 285
4.30.2 具體實現 285
4.30.3 特別提醒——AndroidManifest.xml中的許可權 288
4.31 修改手機螢幕的顯示方向 291
4.31.1 實例說明 291
4.31.2 具體實現 291
4.31.3 特別提醒——切換和不切換的實現方法 293
第5章 自動為您服務 295
5.1 獲取手機螢幕的解析度 295
5.1.1 實例說明 295
5.1.2 具體實現 295
5.1.3 特別提醒——一個模擬器模擬簡訊操作 297
5.2 獲取手機剩餘的電池容量 298
5.2.1 實例說明 298
5.2.2 具體實現 298
5.2.3 特別提醒——Reseiver的作用 300
5.3 來電時自動傳送信息提醒 300
5.3.1 實例說明 300
5.3.2 具體實現 300
5.3.3 特別提醒——TelephonyManager和PhoneStateListener 303
5.4 獲取手機中存儲卡的容量 304
5.4.1 實例說明 304
5.4.2 具體實現 304
5.4.3 特別提醒——使用FAT32格式的磁碟鏡像作為SD卡的模擬 306
5.5 操作存儲卡和記憶體卡中的信息 306
5.5.1 實例說明 306
5.5.2 具體實現 307
5.5.3 特別提醒——管理SD卡中的內容 312
5.6 設定鬧鐘 312
5.6.1 實例說明 313
5.6.2 具體實現 313
5.6.3 特別提醒——類AlarmManager的作用 317
5.7 設定黑名單來電自動靜音 317
5.7.1 實例說明 318
5.7.2 具體實現 318
5.7.3 特別提醒——檢測Android系統是否靜音 320
5.8 定時更換手機桌面背景 320
5.8.1 實例說明 320
5.8.2 具體實現 320
5.8.3 特別提醒——AlarmManager的原理 328
5.9 開機後自動顯示一個界面 328
5.9.1 實例說明 328
5.9.2 具體實現 328
5.9.3 特別提醒——開機傳送BOOT_COMPLETED廣播信息 329
5.10 替換手機螢幕的背景圖片 329
5.10.1 實例說明 329
5.10.2 具體實現 330
5.10.3 特別提醒——維持圖片的寬高比 332
5.11 在手機螢幕中拖動一個按鈕 333
5.11.1 實例說明 333
5.11.2 具體實現 333
5.11.3 特別提醒——通過keyCode來判斷A~Z的按鍵 336
5.12 自動控制系統服務 337
5.12.1 實例說明 337
5.12.2 具體實現 337
5.12.3 特別提醒——Service 的作用 339
5.13 手機背面朝上時自動啟動振動模式 339
5.13.1 實例說明 339
5.13.2 具體實現 339
5.13.3 特別提醒——registerListener()的參數 344
第6章 數據存儲服務 345
6.1 在螢幕中顯示SharedPreferences存儲的信息 345
6.1.1 實例說明 345
6.1.2 具體實現 345
6.1.3 特別提醒——存放數據的路徑 346
6.2 演示數據添加、刪除等操作 347
6.2.1 實例說明 347
6.2.2 具體實現 347
6.2.3 特別提醒——列印輸出級別 350
6.3 使用ContentProvider 351
6.3.1 實例說明 351
6.3.2 具體實現 351
6.3.3 特別提醒——ContentResolver的接口 353
6.4 使用SQLite編寫一個日記本 353
6.4.1 實例說明 353
6.4.2 具體實現 354
6.4.3 特別提醒——SimpleCursorAdapter介紹 359
6.5 使用ContentProvider實現日記本功能 359
6.5.1 實例說明 359
6.5.2 具體實現 359
6.5.3 特別提醒——使用Uri 的形式 369
6.6 保存用戶信息 369
6.6.1 實例說明 369
6.6.2 具體實現 369
6.6.3 特別提醒——獲取XML檔案中的數據 371
6.7 使用檔案保存數據 372
6.7.1 實例說明 372
6.7.2 具體實現 372
6.7.3 特別提醒——方法openFileOutput() 374
6.8 將網上圖片保存在SD卡中並顯示出來 375
6.8.1 實例說明 375
6.8.2 具體實現 375
6.8.3 特別提醒——Android的數據存儲方式 377
第7章 電話和簡訊套用 379
7.1 一個簡單的撥號程式 379
7.1.1 實例說明 379
7.1.2 具體實現 379
7.1.3 特別提醒——IntentFilter實現撥號 381
7.2 傳送簡訊程式 382
7.2.1 實例說明 382
7.2.2 具體實現 383
7.2.3 特別提醒——android.telephony和android.telephony.gsm 385
7.3 一個按鈕撥號程式 385
7.3.1 實例說明 385
7.3.2 具體實現 385
7.3.3 特別提醒——方法isPhoneNumberValid來檢查字元串 387
7.4 簡訊傳送系統 388
7.4.1 實例說明 388
7.4.2 具體實現 388
7.4.3 特別提醒——SmsManager類中的方法 391
7.5 螢幕觸控撥號程式 392
7.5.1 實例說明 392
7.5.2 具體實現 392
7.5.3 特別提醒——將Action動作定義成常數 393
7.6 實現簡訊群發功能 393
7.6.1 實例說明 394
7.6.2 具體實現 394
7.6.3 特別提醒——群組傳送 396
7.7 傳送簡訊時實現E-mail郵件通知 396
7.7.1 實例說明 397
7.7.2 具體實現 397
7.7.3 特別提醒——Intent機制的通信 400
7.8 來電後自動傳送郵件通知 401
7.8.1 實例說明 401
7.8.2 具體實現 401
7.8.3 特別提醒——模擬器失敗提示 402
7.9 監聽簡訊是否傳送成功 402
7.9.1 實例說明 403
7.9.2 具體實現 403
7.9.3 特別提醒——簡訊傳送的兩種狀態 406
7.10 監控手機撥接狀態 406
7.10.1 實例說明 407
7.10.2 具體實現 407
7.10.3 特別提醒——系統服務的返回對象 409
7.11 監控收取的簡訊中是否含有某關鍵字 409
7.11.1 實例說明 410
7.11.2 具體實現 410
7.11.3 特別提醒——Activity程式的喚醒 416
第8章 圖形和圖像處理 418
8.1.1 實例說明 418
8.1.2 具體實現 418
8.1.3 特別提醒——類Paint中的方法 420
8.2 在手機螢幕中繪製一個畫布 421
8.2.1 實例說明 421
8.2.2 具體實現 421
8.2.3 特別提醒——生成圖片水印 423
8.3 在手機螢幕中繪製各種圖形 423
8.3.1 實例說明 423
8.3.2 具體實現 423
8.3.3 特別提醒——方法save和restore 426
8.4 在手機螢幕中模擬實現水紋效果 426
8.4.1 實例說明 427
8.4.2 實例說明 427
8.4.3 特別提醒——Bitmap類縮放圖片 429
8.5 在手機螢幕中渲染一個幾何圖形 430
8.5.1 實例說明 430
8.5.2 具體實現 430
8.5.3 特別提醒——類Shader的直接子類 432
8.6 在手機螢幕中實現動畫效果 432
8.6.1 實例說明 432
8.6.2 具體實現 432
8.6.3 特別提醒——Tween的4種動畫效果 434
8.7 在手機螢幕中實現Frame動畫效果 434
8.7.1 具體實現 434
8.7.2 特別提醒——使用Frame動畫的流程 435
8.8 使用Matrix實現圖片縮放 435
8.8.1 實例說明 435
8.8.2 具體實現 436
8.8.3 特別提醒——4種縮放點陣圖的方法 439
8.9 旋轉螢幕中的圖片 439
8.9.1 實例說明 440
8.9.2 具體實現 440
8.9.3 特別提醒——Matrix或Canvas旋轉點陣圖 442
8.10 實現天上移動星星的效果 442
8.10.1 實例說明 442
8.10.2 具體實現 442
8.10.3 特別提醒——OpenGL技術 445
8.11 構建一個模擬3D場景效果 446
8.11.1 實例說明 446
8.11.2 具體實現 446
8.11.3 特別提醒——OpenGL標準接口 448
8.12 實現浮動的旗幟效果 449
8.12.1 實例說明 449
8.12.2 具體實現 449
8.12.3 特別提醒——OpenGL ES繪圖的基本流程 450
8.13 螢幕中顯示多個物體 451
8.13.1 實例說明 451
8.13.2 具體實現 451
8.13.3 特別提醒——類FloatBuffer 453
8.14 模擬實現粒子系統效果 453
8.14.1 實例說明 453
8.14.2 具體實現 453
8.14.3 特別提醒——粒子系統的實現流程 456
8.15 移動手機螢幕中的圖片 456
8.15.1 實例說明 456
8.15.2 具體實現 456
8.15.3 特別提醒——save和restore實現繪製 459
8.16 在Canvas 畫布中繪製字元串 460
8.16.1 實例說明 460
8.16.2 具體實現 460
8.16.3 特別提醒——設定畫布的屬性 466
8.17 在手機螢幕中移動一個不斷變換顏色的圖形 466
8.17.1 實例說明 466
8.17.2 具體實現 466
8.17.3 特別提醒——SurfaceView的用法 469
8.18 在手機螢幕中實現一個圖片移動的動畫效果 469
8.18.1 實例說明 469
8.18.2 具體實現 469
8.18.3 特別提醒——SurfaceHolder.Callback回調接口方法 472
8.19 繪製一個三維圓柱體 472
8.19.1 實例說明 472
8.19.2 具體實現 473
8.19.3 特別提醒——數學中的圓柱體 479
8.20 在手機螢幕中混合圖像 480
8.20.1 實例說明 480
8.20.2 具體實現 480
8.20.3 特別提醒——常用的混合方式 484
8.21 顯示圖片的寬和高 484
8.21.1 實例說明 484
8.21.2 具體實現 485
8.21.3 特別提醒——處理點陣圖 487
8.22 繪製各種空心圖形、實心圖形和漸變圖形 487
8.22.1 實例說明 487
8.22.2 具體實現 487
8.22.3 特別提醒——Canvas與ImageView 490
8.23 編寫一個屏保程式 490
8.23.1 實例說明 490
8.23.2 具體實現 490
8.23.3 特別提醒——Runnable的作用 496
8.24 在螢幕中通過觸摸單擊的方式移動圖片 496
8.24.1 實例說明 497
8.24.2 具體實現 497
8.24.3 特別提醒——Bitmap的用法 500
8.25 在手機螢幕中繪製一個矩形 500
8.25.1 實例說明 500
8.25.2 具體實現 500
8.25.3 特別提醒——模擬器中創建虛擬SD卡 502
8.26 在手機螢幕中顯示系統內的圖片信息 503
8.26.1 實例說明 503
8.26.2 具體實現 503
8.26.3 特別提醒——類Canvas顯示點陣圖 504
第9章 網際網路套用 506
9.1 傳遞HTTP參數 506
9.1.1 實例說明 506
9.1.2 具體實現 506
9.1.3 特別提醒——在Android系統中打開連結 509
9.2 在手機中瀏覽網頁 509
9.2.1 實例說明 509
9.2.2 具體實現 509
9.2.3 特別提醒——loadUrl方法訪問網頁 510
9.3 在手機中使用HTML程式 511
9.3.1 實例說明 511
9.3.2 具體實現 511
9.3.3 特別提醒——開發Android網路項的注意事項 511
9.4 使用內置瀏覽器打開網頁 512
9.4.1 實例說明 512
9.4.2 具體實現 512
9.4.3 特別提醒——WebSettings設定WebView屬性 514
9.5 在螢幕中顯示QQ空間中的圖片 514
9.5.1 實例說明 514
9.5.2 具體實現 514
9.5.3 特別提醒——Gallery控制項在遊戲中的套用 516
9.5.4 實例說明 516
9.5.5 具體實現 516
9.5.6 特別提醒——將InputStream轉換為String 518
9.6 將檔案上傳至伺服器 519
9.6.1 實例說明 519
9.6.2 具體實現 519
9.6.3 特別提醒——表單上傳程式實現檔案上傳 521
9.7 實現一個RSS系統 522
9.7.1 實例說明 522
9.7.2 具體實現 522
9.7.3 特別提醒——RSS2.0的語法規則 529
9.8 遠程下載並安裝一個軟體 530
9.8.1 實例說明 531
9.8.2 具體實現 531
9.8.3 特別提醒——APK檔案介紹 534
9.9 開發一個移動微博發布器 538
9.9.1 實例說明 538
9.9.2 具體實現 539
9.9.3 特別提醒——樂多部落格的接口 542
第10章 多媒體套用 544
10.1 調節手機音量的大小 544
10.1.1 實例說明 544
10.1.2 具體實現 544
10.1.3 特別提醒——AudioManager管理手機聲音 547
10.2 在手機中播放MP3檔案 548
10.2.1 實例說明 548
10.2.2 具體實現 548
10.2.3 特別提醒——播放手機卡里的音樂或者網路中的流媒體 551
10.3 編寫一個錄音程式 551
10.3.1 實例說明 551
10.3.2 具體實現 551
10.3.3 特別提醒——Android的開源多媒體框架 556
10.4 在手機中實現相機預覽和拍照功能 556
10.4.1 實例說明 557
10.4.2 具體實現 557
10.4.3 特別提醒——使用攝像頭的方法 562
10.5 在手機中播放影片 564
10.5.1 實例說明 564
10.5.2 具體實現 564
10.5.3 特別提醒——VideoView類的構造函式 566
10.6 編程的方式設定手機中的鈴聲 567
10.6.1 實例說明 567
10.6.2 具體實現 567
10.6.3 特別提醒——設定3種聲音 569
10.7 播放遠程網路中的MP3 570
10.7.1 實例說明 570
10.7.2 具體實現 570
10.7.3 特別提醒——Runnable並不一定是新開一個執行緒 575
10.8 從網路中遠程下載手機鈴聲 576
10.8.1 實例說明 576
10.8.2 具體實現 576
10.8.3 特別提醒——使用Notification的注意事項 581
10.9 遠程觀看網路中的3GP視頻 581
10.9.1 實例說明 581
10.9.2 具體實現 581
10.9.3 特別提醒——Gallery調用MediaProvider的數據 587
10.10 在螢幕中播放GIF動畫 587
10.10.1 實例說明 587
10.10.2 具體實現 588
10.10.3 特別提醒——GIF動畫和幀播放 592
10.11 編寫一個簡單的音樂播放器 593
10.11.1 實例說明 593
10.11.2 具體實現 593
10.11.3 特別提醒——SD卡支持ContentProvider接口 597
10.12 在手機中播放MP4視頻 597
10.12.1 實例說明 597
10.12.2 具體實現 598
10.12.3 特別提醒——VideoView中的常用方法 599
第11章 地圖服務 600
11.1 獲取當前位置的坐標 600
11.1.1 實例說明 600
11.1.2 具體實現 600
11.1.3 特別提醒——android.location的定位功能 602
11.2 使用谷歌地圖 603
11.2.1 實例說明 603
11.2.2 具體實現 605
11.2.3 特別提醒——使用Map API密鑰的基本流程 609
11.3 輸入一個坐標後在地圖中實現定位 610
11.3.1 實例說明 610
11.3.2 具體實現 610
11.3.3 特別提醒——類GeoPoint的方法 613
14.4 在手機中實現地址查詢 613
11.4.1 實例說明 613
11.4.2 具體實現 613
11.4.3 特別提醒——Google Map API解密 616
11.5 實現路徑導航 616
11.5.1 實例說明 616
11.5.2 具體實現 617
11.5.3 特別提醒——起點和終點的設定 623
11.6 移動手機時自動實現位置更新 623
11.6.1 實例說明 623
11.6.2 具體實現 623
11.6.3 特別提醒——判斷GPS模組是否存在或開啟 627
11.7 在地圖中繪製線路並計算距離 627
11.7.1 實例說明 627
11.7.2 具體實現 627
11.7.3 特別提醒——JavaScript overlay類型 633
11.8 在谷歌地圖中顯示指定的位置 633
11.8.1 實例說明 633
11.8.2 具體實現 633
11.8.3 特別提醒——Android的位置訪問 635
11.9 在螢幕中顯示當前位置的詳細信息 635
11.9.1 實例說明 635
11.9.2 具體實現 635
11.9.3 特別提醒——Android中實現定位的地圖 639
11.10 快速查詢某個位置 639
11.10.1 實例說明 639
11.10.2 具體實現 639
11.10.3 特別提醒——谷歌地圖的3種視圖模式 640
11.11 在手機地圖中查詢一個地址 641
11.11.1 實例說明 641
11.11.2 具體實現 641
11.11.3 特別提醒——選擇中文輸入法 642
第12章 Google API 643
12.1 模擬驗證官方賬號 643
12.1.1 實例說明 643
12.1.2 具體實現 643
12.1.3 特別提醒——Google Account的組成 648
12.2 實現谷歌搜尋功能 649
12.2.1 實例說明 649
12.2.2 具體實現 649
12.2.3 特別提醒——使用Google Search API的流程 653
12.3 使用Google Chart API生成二維條碼 653
12.3.1 實例說明 653
12.3.2 具體實現 654
12.3.3 特別提醒——Google Chart API的用法詳解 656
12.4 在手機中編寫一個翻譯軟體 657
12.4.1 實例說明 658
12.4.2 具體實現 658
12.4.3 特別提醒——Ajax語言的API 659
12.5 在手機螢幕中生成二維條碼 659
12.5.1 實例說明 659
12.5.2 具體實現 660
12.5.3 特別提醒——DisplayMetircs處理解析度問題 663
12.6 引用qrcode項目實現二維條碼 663
12.6.1 實例說明 663
12.6.2 具體實現 663
12.6.3 特別提醒——Android拍照的兩種方式 670
第13章 遊戲套用 671
13.1 五子棋遊戲 671
13.1.1 實例說明 671
13.1.2 具體實現 671
13.2 益智類遊戲——魔塔 677
13.2.1 實例說明 678
13.2.2 具體實現 678
13.2.3 特別提醒—— 一款遊戲產品受到的限制 694
13.3 一個簡單的貪吃蛇遊戲 694
13.3.1 實例說明 695
13.3.2 具體實現 695
13.3.3 特別提醒——貪吃蛇遊戲的基本思路 699
13.4 撲克遊戲 700
13.4.1 實例說明 700
13.4.2 具體實現 700
13.4.3 特別提醒——遊戲的大綱策劃 704
13.5 掃雷遊戲 705
13.5.1 實例說明 705
13.5.2 具體實現 705
13.5.3 特別提醒——用“?”標記空白 712
第14章 程式最佳化 713
14.1 標籤在UI界面中的最佳化作用 713
14.1.1 實例說明 713
14.1.2 具體實現 713
14.1.3 特別提醒——使用標籤的注意事項 715
14.2 測試計算機的性能 715
14.2.1 實例說明 716
14.2.2 具體實現 716
14.2.3 特別提醒——使用動態代理的好處 718
14.3 測試記憶體性能 718
14.3.1 實例說明 718
14.3.2 具體實現 718
14.3.3 特別提醒——命名問題 720
14.4 Android Layout最佳化 721
14.4.1 實例說明 721
14.4.2 具體實現 721
14.4.3 特別提醒——Layout布局的注意事項 722
14.5 最佳化Bitmap圖片 722
14.5.1 實例說明 722
14.5.2 具體實現 722
14.5.3 特別提醒——Options中的屬性 724
14.6 最佳化Android模擬器 724
14.6.1 實例說明 724
14.6.2 具體實現 724
14.6.3 特別提醒——開啟動畫效果選項 727
第15章 平板電腦套用開發 728
15.1 設定平板設備程式開發環境 728
15.1.1 實例說明 728
15.1.2 具體實現 728
15.1.3 特別提醒——平板電腦的解析度 729
15.2 在平板電腦中開發一個音樂播放器 730
15.2.1 實例說明 730
15.2.2 具體實現 730
15.2.3 特別提醒——在平板電腦中開發一個視頻播放程式 735
15.3 瀏覽指定的網頁 736
15.3.1 實例說明 736
15.3.2 具體實現 736
15.3.3 特別提醒——設定樣式自適應 741
15.4 開發一個天氣預報系統 741
15.4.1 實例說明 741
15.4.2 具體實現 741
15.4.3 特別提醒——XML實現方式 748
15.5 使用檔案存儲數據的方法保存音樂狀態 750
15.5.1 實例說明 750
15.5.2 具體實現 750
15.5.3 特別提醒——修改平板電腦程式 752
第16章 創意開發 753
16.1 開發一個控制玩具車的藍牙遙控器 753
16.1.1. 實例說明 753
16.1.2 具體實現 753
16.1.3 特別提醒——藍牙在模擬器上發生問題 760
16.2 手機模擬實現跋杯儀式 760
16.2.1 實例說明 760
16.2.2 具體實現 760
16.2.3 特別提醒——使用感測器技術 765
16.3 隨時檢測當前的加速度 765
16.3.1 實例說明 765
16.3.2 具體實現 766
16.3.3 特別提醒——安裝SensorSimulator工具 767
16.4 語音識別系統 771
16.4.1 實例說明 771
16.4.2 具體實現 771
16.4.3 特別提醒——谷歌的語音識別技術 772
16.5 在Android中使用JavaScript 773
16.5.1 實例說明 773
16.5.2 具體實現 773
16.5.3 特別提醒——在Android中做網頁 775

相關詞條

熱門詞條

聯絡我們