《疯狂Android讲义》第二版目录
目錄
第1章? Android應(yīng)用與開發(fā)環(huán)境 1
?? ??? ??? ?1.1? Android的發(fā)展和歷史 2
?? ??? ??? ??? ??? ??? ?1.1.1? Android的發(fā)展和簡介 2
?? ??? ??? ??? ??? ??? ?1.1.2? Android平臺(tái)架構(gòu)及特性 3
?? ??? ??? ?1.2? 搭建Android開發(fā)環(huán)境 5
?? ??? ??? ??? ??? ??? ?1.2.1? 下載和安裝Android SDK 5
?? ??? ??? ??? ??? ??? ?1.2.2? 安裝運(yùn)行、調(diào)試環(huán)境 7
?? ??? ??? ??? ??? ??? ?1.2.3? 安裝Eclipse和ADT插件 10
?? ??? ??? ?1.3? Android常用開發(fā)工具的用法 13
?? ??? ??? ??? ??? ??? ?1.3.1? 在命令行創(chuàng)建、刪除和瀏覽AVD 13
?? ??? ??? ??? ??? ??? ?1.3.2? 使用Android模擬器(Emulator) 14
?? ??? ??? ??? ??? ??? ?1.3.3? 使用DDMS進(jìn)行調(diào)試 15
?? ??? ??? ??? ??? ??? ?1.3.4? Android Debug Bridge(ADB)的用法 16
?? ??? ??? ??? ??? ??? ?1.3.5? 使用DX編譯Android應(yīng)用 18
?? ??? ??? ??? ??? ??? ?1.3.6? 使用Android Asset Packaging Tool(AAPT)打包資源 18
?? ??? ??? ??? ??? ??? ?1.3.7? 使用mksdcard管理虛擬SD卡 18
?? ??? ??? ?1.4? 開始第一個(gè)Android應(yīng)用 19
?? ??? ??? ??? ??? ??? ?1.4.1? 使用Eclipse開發(fā)第一個(gè)Android應(yīng)用 19
?? ??? ??? ??? ??? ??? ?1.4.2? 通過ADT運(yùn)行Android應(yīng)用 23
?? ??? ??? ?1.5? Android應(yīng)用結(jié)構(gòu)分析 23
?? ??? ??? ??? ??? ??? ?1.5.1? 創(chuàng)建一個(gè)Android應(yīng)用 24
?? ??? ??? ??? ??? ??? ?1.5.2? 自動(dòng)生成的R.java 26
?? ??? ??? ??? ??? ??? ?1.5.3? res目錄說明 27
?? ??? ??? ??? ??? ??? ?1.5.4? Android應(yīng)用的清單文件:AndroidManifest.xml 28
?? ??? ??? ??? ??? ??? ?1.5.5? 應(yīng)用程序權(quán)限說明 29
?? ??? ??? ?1.6? Android應(yīng)用的基本組件介紹 30
?? ??? ??? ??? ??? ??? ?1.6.1? Activity和View 30
?? ??? ??? ??? ??? ??? ?1.6.2? Service 31
?? ??? ??? ??? ??? ??? ?1.6.3? BroadcastReceiver 31
?? ??? ??? ??? ??? ??? ?1.6.4? ContentProvider 32
?? ??? ??? ??? ??? ??? ?1.6.5? Intent和IntentFilter 32
?? ??? ??? ?1.7? 簽名Android應(yīng)用程序 33
?? ??? ??? ??? ??? ??? ?1.7.1? 在Eclipse中對Android應(yīng)用簽名 34
?? ??? ??? ??? ??? ??? ?1.7.2? 使用命令對APK包簽名 35
?? ??? ??? ?1.8? 本章小結(jié) 37
第2章? Android應(yīng)用的界面編程 38
?? ??? ??? ?2.1? 界面編程與視圖(View)組件 39
?? ??? ??? ??? ??? ??? ?2.1.1? 視圖組件與容器組件 39
?? ??? ??? ??? ??? ??? ?2.1.2? 使用XML布局文件控制UI界面 44
?? ??? ??? ??? ??? ??? ?2.1.3? 在代碼中控制UI界面 45
?? ??? ??? ??? ??? ??? ?2.1.4? 使用XML布局文件和Java代碼混合控制UI界面 46
?? ??? ??? ??? ??? ??? ?2.1.5? 開發(fā)自定義View 47
?? ??? ??? ?2.2? 第1組UI組件:布局管理器 50
?? ??? ??? ??? ??? ??? ?2.2.1? 線性布局 50
?? ??? ??? ??? ??? ??? ?2.2.2? 表格布局 53
?? ??? ??? ??? ??? ??? ?2.2.3? 幀布局 56
?? ??? ??? ??? ??? ??? ?2.2.4? 相對布局 59
?? ??? ??? ??? ??? ??? ?2.2.5? Android 4.0新增的網(wǎng)格布局 61
?? ??? ??? ??? ??? ??? ?2.2.6? 絕對布局 63
?? ??? ??? ?2.3? 第2組UI組件:TextView及其子類 65
?? ??? ??? ??? ??? ??? ?2.3.1? 文本框(TextView)與編輯框(EditText)的功能和用法 65
?? ??? ??? ??? ??? ??? ?2.3.2? EditText的功能與用法 72
?? ??? ??? ??? ??? ??? ?2.3.3? 按鈕(Button)組件的功能和用法 74
?? ??? ??? ??? ??? ??? ?2.3.4? 使用9Patch圖片作為按鈕背景 76
?? ??? ??? ??? ??? ??? ?2.3.5? 單選按鈕(RadioButton)與復(fù)選框(CheckBox)的功能與用法 77
?? ??? ??? ??? ??? ??? ?2.3.6? 狀態(tài)開關(guān)按鈕(ToggleButton)與開關(guān)(Switch)的功能與用法 79
?? ??? ??? ??? ??? ??? ?2.3.7? 時(shí)鐘(AnalogClock和DigitalClock)的功能與用法 81
?? ??? ??? ??? ??? ??? ?2.3.8? 計(jì)時(shí)器(Chronometer) 83
?? ??? ??? ??? ??? ??? ?
?? ??? ??? ?2.4? 第3組UI組件:ImageView及其子類 84
?? ??? ??? ???????????? ImageView,ImageButton,ZoomButton,QuickContactBadges
?? ??? ??? ?
?? ??? ??? ?2.5? 第4組UI組件:AdapterView及子類 91
?? ??? ??? ??? ??? ??? ?2.5.1? 列表視圖(ListView)和ListActivity 91
?? ??? ??? ??? ??? ??? ?2.5.2? Adapter接口及實(shí)現(xiàn)類 93? ?
?? ??? ??? ??? ??? ??? ???????????? 采用4種方式之一創(chuàng)建Adapter,調(diào)用AdapterView的setAdapter(Adapter)方法設(shè)置Adapter即可。
?? ??? ??? ??? ??? ??? ?2.5.3? 自動(dòng)完成文本框(AutoCompleteTextView)的功能和用法 102
?? ??? ??? ??? ??? ??? ?2.5.4? 網(wǎng)格視圖(GridView)功能和用法 104
?? ??? ??? ??? ??? ??? ?2.5.5? 可展開的列表組件(ExpandableListView) 107
?? ??? ??? ??? ??? ??? ?2.5.6? Spinner的功能和用法 110
?? ??? ??? ??? ??? ??? ?2.5.7? 畫廊視圖(Gallery)的功能和用法 112
?? ??? ??? ??? ??? ??? ?2.5.8? AdapterViewFlipper的功能與用法 114
?? ??? ??? ??? ??? ??? ?2.5.9? StackView的功能與用法 117
?? ??? ??? ?2.6? 第5組UI組件:ProgressBar及其子類 119
?? ??? ??? ??? ??? ??? ?2.6.1? 進(jìn)度條(ProgressBar)的功能與用法 119
?? ??? ??? ??? ??? ??? ?2.6.2? 拖動(dòng)條(SeekBar)的功能和用法 123
?? ??? ??? ??? ??? ??? ?2.6.3? 星級評分條(RatingBar)的功能和用法 125
?? ??? ??? ??? ??? ??? ?
?? ??? ??? ?2.7? 第6組UI組件:ViewAnimator及其子類 126
?? ??? ??? ??? ??? ??? ?2.7.1? ViewSwitcher的功能與用法 127
?? ??? ??? ??? ??? ??? ?2.7.2? 圖像切換器(ImageSwitcher)的功能與用法 132
?? ??? ??? ??? ??? ??? ?2.7.3? 文本切換器(TextSwitcher)的功能與用法 134
?? ??? ??? ??? ??? ??? ?2.7.4? ViewFlipper的功能與用法 136
?? ??? ??? ??? ??? ??? ?
?? ??? ??? ?2.8? 各種雜項(xiàng)組件 138
?? ??? ??? ??? ??? ??? ?2.8.1? 使用Toast顯示提示信息框 138
?? ??? ??? ??? ??? ??? ?2.8.2? 日歷視圖(CalendarView)組件的功能和用法 140
?? ??? ??? ??? ??? ??? ?2.8.3? 日期、時(shí)間選擇器(DatePicker和TimePicker)的功能和用法 141
?? ??? ??? ??? ??? ??? ?2.8.4? 數(shù)值選擇器(NumberPicker)的功能與用法 144
?? ??? ??? ??? ??? ??? ?2.8.5? 搜索框(SearchView)的功能與用法 146
?? ??? ??? ??? ??? ??? ?2.8.6? 選項(xiàng)卡(TabHost)的功能和用法 148
?? ??? ??? ??? ??? ??? ?2.8.7? 滾動(dòng)視圖(ScrollView)的功能和用法 150
?? ??? ??? ??? ??? ??? ?2.8.8? Notification的功能與用法 151
?? ??? ??? ?2.9? 對話框 154
?? ??? ??? ??? ??? ??? ?2.9.1? 使用AlertDialog創(chuàng)建對話框 154
?? ??? ??? ??? ??? ??? ?2.9.2? 對話框風(fēng)格的窗口 161
?? ??? ??? ??? ??? ??? ?2.9.3? 使用PopupWindow 161
?? ??? ??? ??? ??? ??? ?2.9.4? 使用DatePickerDialog、TimePickerDialog 163
?? ??? ??? ??? ??? ??? ?2.9.5? 使用ProgressDialog創(chuàng)建進(jìn)度對話框 164
?? ??? ??? ??? ??? ??? ?
?? ??? ??? ?2.10? 菜單 167
?? ??? ??? ??? ??? ??? ?2.10.1? 選項(xiàng)菜單和子菜單(SubMenu) 167
?? ??? ??? ??? ??? ??? ?2.10.2? 使用監(jiān)聽器來監(jiān)聽菜單事件 171
?? ??? ??? ??? ??? ??? ?2.10.3? 創(chuàng)建復(fù)選菜單項(xiàng)和單選菜單項(xiàng) 171
?? ??? ??? ??? ??? ??? ?2.10.4? 設(shè)置與菜單項(xiàng)關(guān)聯(lián)的Activity 171
?? ??? ??? ??? ??? ??? ?2.10.5? 上下文菜單 172
?? ??? ??? ??? ??? ??? ?2.10.6? 使用XML文件定義菜單 174
?? ??? ??? ??? ??? ??? ?2.10.7? 使用PopupMenu創(chuàng)建彈出式菜單 178
?? ??? ??? ??? ??? ??? ?
?? ??? ??? ?2.11? 使用活動(dòng)條(ActionBar) 179
?? ??? ??? ??? ??? ??? ?2.11.1? 啟用ActionBar 180
?? ??? ??? ??? ??? ??? ?2.11.2? 使用ActionBar顯示選項(xiàng)菜單 181
?? ??? ??? ??? ??? ??? ?2.11.3? 啟用程序圖標(biāo)導(dǎo)航 183
?? ??? ??? ??? ??? ??? ?2.11.4? 添加Action View 184
?? ??? ??? ??? ??? ??? ?2.11.5? 使用ActionBar實(shí)現(xiàn)Tab導(dǎo)航 185
?? ??? ??? ??? ??? ??? ?2.11.6? 使用ActionBar實(shí)現(xiàn)下拉式導(dǎo)航 191
?? ??? ??? ?2.12? 本章小結(jié) 192
第3章? Android的事件處理 193
?? ??? ??? ?3.1? Android事件處理概述 194
?? ??? ??? ?3.2? 基于監(jiān)聽的事件處理 194
?? ??? ??? ??? ??? ??? ?3.2.1? 監(jiān)聽的處理模型 195
?? ??? ??? ??? ??? ??? ?3.2.2? 事件和事件監(jiān)聽器 197
?? ??? ??? ??? ??? ??? ?3.2.3? 內(nèi)部類作為事件監(jiān)聽器類 200
?? ??? ??? ??? ??? ??? ?3.2.4? 外部類作為事件監(jiān)聽器類 200
?? ??? ??? ??? ??? ??? ?3.2.5? Activity本身作為事件監(jiān)聽器 202
?? ??? ??? ??? ??? ??? ?3.2.6? 匿名內(nèi)部類作為事件監(jiān)聽器類 203
?? ??? ??? ??? ??? ??? ?3.2.7? 直接綁定到標(biāo)簽 204
?? ??? ??? ?3.3? 基于回調(diào)的事件處理 205
?? ??? ??? ??? ??? ??? ?3.3.1? 回調(diào)機(jī)制與監(jiān)聽機(jī)制 205
?? ??? ??? ??? ??? ??? ?3.3.2? 基于回調(diào)的事件傳播 206
?? ??? ??? ??? ??? ??? ?3.3.3? 重寫onTouchEvent方法響應(yīng)觸摸屏事件 208
?? ??? ??? ?3.4? 響應(yīng)的系統(tǒng)設(shè)置的事件 210
?? ??? ??? ??? ??? ??? ?3.4.1? Configuration類簡介 210
?? ??? ??? ??? ??? ??? ?3.4.2? 重寫onConfigurationChanged響應(yīng)系統(tǒng)設(shè)置更改 212
?? ??? ??? ?3.5? Handler消息傳遞機(jī)制 214
?? ??? ??? ??? ??? ??? ?3.5.1? Handler類簡介 214
?? ??? ??? ??? ??? ??? ?3.5.2? Handler、Loop、MessageQueue的工作原理 216
?? ??? ??? ?3.6? 異步任務(wù)(AsyncTask) 220
?? ??? ??? ?3.7? 本章小結(jié) 223
第4章? 深入理解Activity與Fragment 224
?? ??? ??? ?4.1? 建立、配置和使用Activity 225
?? ??? ??? ??? ??? ??? ?4.1.1? Activity 225
?? ??? ??? ??? ??? ??? ?4.1.2? 配置Activity 233
?? ??? ??? ??? ??? ??? ?4.1.3? 啟動(dòng)、關(guān)閉Activity 235
?? ??? ??? ??? ??? ??? ?4.1.4? 使用Bundle在Activity之間交換數(shù)據(jù) 237
?? ??? ??? ??? ??? ??? ?4.1.5? 啟動(dòng)其他Activity并返回結(jié)果 241
?? ??? ??? ?4.2? Activity的回調(diào)機(jī)制 245
?? ??? ??? ?4.3? Activity的生命周期與加載模式 246
?? ??? ??? ??? ??? ??? ?4.3.1? Activity的生命周期演示 246
?? ??? ??? ??? ??? ??? ?4.3.2? Activity與Servlet的相似性與區(qū)別 250
?? ??? ??? ??? ??? ??? ?4.3.3? Activity的4種加載模式 251
?? ??? ??? ?4.4? Fragment詳解 257
?? ??? ??? ??? ??? ??? ?4.4.1? Fragment概述及其設(shè)計(jì)哲學(xué) 257
?? ??? ??? ??? ??? ??? ?4.4.2? 創(chuàng)建Fragment 258
?? ??? ??? ??? ??? ??? ?4.4.3? Fragment與Activity通信 262
?? ??? ??? ??? ??? ??? ?4.4.4? Fragment管理與Fragment事務(wù) 264
?? ??? ??? ?4.5? Fragment的生命周期 268
?? ??? ??? ?4.6? 本章小結(jié) 272
第5章? 使用Intent和IntentFilter進(jìn)行通信 273
?? ??? ??? ?5.1? Intent對象詳解 274
?? ??? ??? ??? ??? ??? ?5.1.1? 使用Intent啟動(dòng)系統(tǒng)組件 274
?? ??? ??? ?5.2? Intent的屬性及intent-filter配置 275
?? ??? ??? ??? ??? ??? ?5.2.1? Component屬性 275
?? ??? ??? ??? ??? ??? ?5.2.2? Action、Category屬性與intent-filter配置 277
?? ??? ??? ??? ??? ??? ?5.2.3? 指定Action、Category調(diào)用系統(tǒng)Activity 282
?? ??? ??? ??? ??? ??? ?5.2.4? Data、Type屬性與intent-filter配置 287
?? ??? ??? ??? ??? ??? ?5.2.5? Extra屬性 295
?? ??? ??? ??? ??? ??? ?5.2.6? Flag屬性 295
?? ??? ??? ?5.3? 使用Intent創(chuàng)建Tab頁面 296
?? ??? ??? ?5.4? 本章小結(jié) 297
第6章? Android應(yīng)用的資源 298
?? ??? ??? ?6.1? 資源的類型及存儲(chǔ)方式 299
?? ??? ??? ??? ??? ??? ?6.1.1? 資源的類型以及存儲(chǔ)方式 299
?? ??? ??? ??? ??? ??? ?6.1.2? 使用資源 301
?? ??? ??? ?6.2? 使用字符串、顏色、尺寸資源 302
?? ??? ??? ??? ??? ??? ?6.2.1? 顏色值的定義 303
?? ??? ??? ??? ??? ??? ?6.2.2? 定義字符串、顏色、尺寸資源文件 303
?? ??? ??? ??? ??? ??? ?6.2.3? 使用字符串、顏色、尺寸資源 305
?? ??? ??? ?6.3? 數(shù)組(Array)資源 307
?? ??? ??? ?6.4? 使用(Drawable)資源 310
?? ??? ??? ??? ??? ??? ?6.4.1? 圖片資源 310
?? ??? ??? ??? ??? ??? ?6.4.2? StateListDrawable資源 311
?? ??? ??? ??? ??? ??? ?6.4.3? LayerDrawable資源 312
?? ??? ??? ??? ??? ??? ?6.4.4? ShapeDrawable資源 314
?? ??? ??? ??? ??? ??? ?6.4.5? ClipDrawable資源 316
?? ??? ??? ??? ??? ??? ?6.4.6? AnimationDrawable資源 318
?? ??? ??? ?6.5? 屬性動(dòng)畫(Property Animation)資源 320
?? ??? ??? ?6.6? 使用原始XML資源 322
?? ??? ??? ??? ??? ??? ?6.6.1? 定義原始XML資源 322
?? ??? ??? ??? ??? ??? ?6.6.2? 使用原始XML文件 323
?? ??? ??? ?6.7? 使用布局(Layout)資源 325
?? ??? ??? ?6.8? 使用菜單(Menu)資源 325
?? ??? ??? ?6.9? 樣式(Style)和主題(Theme)資源 326
?? ??? ??? ??? ??? ??? ?6.9.1? 樣式資源 326
?? ??? ??? ??? ??? ??? ?6.9.2? 主題資源 327
?? ??? ??? ?6.10? 屬性(Attribute)資源 329
?? ??? ??? ?6.11? 使用原始資源 332
?? ??? ??? ?6.12? 國際化和資源自適應(yīng) 333
?? ??? ??? ??? ??? ??? ?6.12.1? Java國際化的思路 334
?? ??? ??? ??? ??? ??? ?6.12.2? Java支持的語言和國家 334
?? ??? ??? ??? ??? ??? ?6.12.3? 完成程序國際化 335
?? ??? ??? ??? ??? ??? ?6.12.4? 為Android應(yīng)用提供國際化資源 337
?? ??? ??? ??? ??? ??? ?6.12.5? 國際化Android應(yīng)用 338
?? ??? ??? ?6.13? 自適應(yīng)不同屏幕的資源 340
?? ??? ??? ?6.14? 本章小結(jié) 343
第7章? 圖形與圖像處理 344
?? ??? ??? ?7.1? 使用簡單圖片 345
?? ??? ??? ??? ??? ??? ?7.1.1? 使用Drawable對象 345
?? ??? ??? ??? ??? ??? ?7.1.2? Bitmap和BitmapFactory 345
?? ??? ??? ?7.2? 繪圖 348
?? ??? ??? ??? ??? ??? ?7.2.1? Android繪圖基礎(chǔ):Canvas、Paint等 348
?? ??? ??? ??? ??? ??? ?7.2.2? Path類 352
?? ??? ??? ??? ??? ??? ?7.2.3? 繪制游戲動(dòng)畫 355
?? ??? ??? ?7.3? 圖形特效處理 362
?? ??? ??? ??? ??? ??? ?7.3.1? 使用Matrix控制變換 362
?? ??? ??? ??? ??? ??? ?7.3.2? 使用drawBitmapMesh扭曲圖像 366
?? ??? ??? ??? ??? ??? ?7.3.3? 使用Shader填充圖形 368
?? ??? ??? ?7.4? 逐幀(Frame)動(dòng)畫 370
?? ??? ??? ??? ??? ??? ?7.4.1? AnimationDrawable與逐幀動(dòng)畫 371
?? ??? ??? ?7.5? 補(bǔ)間(Tween)動(dòng)畫 374
?? ??? ??? ??? ??? ??? ?7.5.1? Tween動(dòng)畫與Interpolator 374
?? ??? ??? ??? ??? ??? ?7.5.2? 位置、大小、旋轉(zhuǎn)度、透明度改變的補(bǔ)間動(dòng)畫 376
?? ??? ??? ??? ??? ??? ?7.5.3? 自定義補(bǔ)間動(dòng)畫 380
?? ??? ??? ?7.6? 屬性動(dòng)畫 383
?? ??? ??? ??? ??? ??? ??? ?7.6.1? 屬性動(dòng)畫的API 383
?? ??? ??? ??? ??? ??? ??? ?7.6.2? 使用屬性動(dòng)畫 385
?? ??? ??? ?7.7? 使用SurfaceView實(shí)現(xiàn)動(dòng)畫 393
?? ??? ??? ??? ??? ??? ?7.7.1? SurfaceView的繪圖機(jī)制 394
?? ??? ??? ?7.8? 本章小結(jié) 398
第8章? Android數(shù)據(jù)存儲(chǔ)與IO 399
?? ??? ??? ?8.1? 使用SharedPreferences 400
?? ??? ??? ??? ??? ??? ?8.1.1? SharedPreferences與Editor簡介 400
?? ??? ??? ??? ??? ??? ?8.1.2? SharedPreferences的存儲(chǔ)位置和格式 401
?? ??? ??? ??? ??? ??? ?8.1.3? 讀、寫其他應(yīng)用SharedPreferences 403
?? ??? ??? ?8.2? File存儲(chǔ) 404
?? ??? ??? ??? ??? ??? ?8.2.1? openFileOutput和openFileInput 405
?? ??? ??? ??? ??? ??? ?8.2.2? 讀寫SD卡上的文件 407
?? ??? ??? ?8.3? SQLite數(shù)據(jù)庫 414
?? ??? ??? ??? ??? ??? ??? ?8.3.1? SQLiteDatabase簡介 414
?? ??? ??? ??? ??? ??? ??? ?8.3.2? 創(chuàng)建數(shù)據(jù)庫和表 415
?? ??? ??? ??? ??? ??? ??? ?8.3.3? 使用SQL語句操作SQLite數(shù)據(jù)庫 416
?? ??? ??? ??? ??? ??? ??? ?8.3.4? 使用sqlite3工具 418
?? ??? ??? ??? ??? ??? ??? ?8.3.5? 使用特定方法操作SQLite數(shù)據(jù)庫 419
?? ??? ??? ??? ??? ??? ??? ?8.3.6? 事務(wù) 422
?? ??? ??? ??? ??? ??? ??? ?8.3.7? SQLiteOpenHelper類 422
?? ??? ??? ?8.4? 手勢(Gesture) 427
?? ??? ??? ??? ??? ??? ?8.4.1? 手勢檢測 427
?? ??? ??? ??? ??? ??? ?8.4.2? 增加手勢 434
?? ??? ??? ??? ??? ??? ?8.4.3? 識(shí)別用戶的手勢 437
?? ??? ??? ?8.5? 自動(dòng)朗讀(TTS) 439
?? ??? ??? ?8.6? 本章小結(jié) 441
第9章? 使用ContentProvider實(shí)現(xiàn)數(shù)據(jù)共享 442
?? ??? ??? ?9.1? 數(shù)據(jù)共享標(biāo)準(zhǔn):ContentProvider簡介 443
?? ??? ??? ??? ??? ??? ?9.1.1? ContentProvider簡介 443
?? ??? ??? ??? ??? ??? ?9.1.2? Uri簡介 444
?? ??? ??? ??? ??? ??? ?9.1.3? 使用ContentResolver操作數(shù)據(jù) 445
?? ??? ??? ?9.2? 開發(fā)ContentProvider 446
?? ??? ??? ??? ??? ??? ?9.2.1? ContentProvider與ContentResolver的關(guān)系 446
?? ??? ??? ??? ??? ??? ?9.2.2? 開發(fā)ContentProvider 447
?? ??? ??? ??? ??? ??? ?9.2.3? 配置ContentProvider 448
?? ??? ??? ??? ??? ??? ?9.2.4? 使用ContentResolver調(diào)用方法 449
?? ??? ??? ??? ??? ??? ?9.2.5? 創(chuàng)建ContentProvider的說明 451
?? ??? ??? ?9.3? 操作系統(tǒng)的ContentProvider 457
?? ??? ??? ??? ??? ??? ?9.3.1? 使用ContentProvider管理聯(lián)系人 457
?? ??? ??? ??? ??? ??? ?9.3.2? 使用ContentProvider管理多媒體內(nèi)容 463
?? ??? ??? ?9.4? 監(jiān)聽ContentProvider的數(shù)據(jù)改變 466
?? ??? ??? ??? ??? ??? ?9.4.1? ContentObserver簡介 466
?? ??? ??? ?9.5? 本章小結(jié) 468
第10章? Service與BroadcastReceiver 469
?? ??? ??? ??? ?10.1? Service簡介 470
?? ??? ??? ??? ??? ??? ??? ?10.1.1? 創(chuàng)建、配置Service 470
?? ??? ??? ??? ??? ??? ??? ?10.1.2? 啟動(dòng)和停止Service 472
?? ??? ??? ??? ??? ??? ??? ?10.1.3? 綁定本地Service并與之通信 473
?? ??? ??? ??? ??? ??? ??? ?10.1.4? Service的生命周期 477
?? ??? ??? ??? ??? ??? ??? ?10.1.5? 使用IntentService 478
?? ??? ??? ??? ?10.2? 跨進(jìn)程調(diào)用Service(AIDL Service) 481
?? ??? ??? ??? ??? ??? ??? ?10.2.1? AIDL Service簡介 482
?? ??? ??? ??? ??? ??? ??? ?10.2.2? 創(chuàng)建AIDL文件 482
?? ??? ??? ??? ??? ??? ??? ?10.2.3? 將接口暴露給客戶端 483
?? ??? ??? ??? ??? ??? ??? ?10.2.4? 客戶端訪問AIDLService 484
?? ??? ??? ??? ?10.3? 電話管理器(TelephonyManager) 491
?? ??? ??? ??? ?10.4? 短信管理器(SmsManager) 498
?? ??? ??? ??? ?10.5? 音頻管理器(AudioManager) 502
?? ??? ??? ??? ??? ??? ??? ?10.5.1? AudioManager簡介 502
?? ??? ??? ??? ?10.6? 振動(dòng)器(Vibrator) 504
?? ??? ??? ??? ??? ??? ??? ?10.6.1? Vibrator簡介 504
?? ??? ??? ??? ??? ??? ??? ?10.6.2? 使用Vibrator控制手機(jī)振動(dòng) 505
?? ??? ??? ??? ?10.7? 手機(jī)鬧鐘服務(wù)(AlarmManager) 505
?? ??? ??? ??? ??? ??? ??? ?10.7.1? AlarmManager簡介 505
?? ??? ??? ??? ??? ??? ??? ?10.7.2? 設(shè)置鬧鐘 506
?? ??? ??? ??? ?10.8? 接收廣播消息 510
?? ??? ??? ??? ??? ??? ??? ?10.8.1? BroadcastReceiver簡介 510
?? ??? ??? ??? ??? ??? ??? ?10.8.2? 發(fā)送廣播 512
?? ??? ??? ??? ??? ??? ??? ?10.8.3? 有序廣播 513
?? ??? ??? ??? ?10.9? 接收系統(tǒng)廣播消息 520
?? ??? ??? ??? ?10.10? 本章小結(jié) 523
?? ??? ??? ??? ?
?? ??? ??? ??? ?
第11章? 多媒體應(yīng)用開發(fā) 524
?? ??? ??? ??? ?11.1? 音頻和視頻的播放 525
?? ??? ??? ??? ??? ??? ??? ?11.1.1? 使用MediaPlayer播放音頻 525
?? ??? ??? ??? ??? ??? ??? ?11.1.2? 音樂特效控制 528
?? ??? ??? ??? ??? ??? ??? ?11.1.3? 使用SoundPool播放音效 536
?? ??? ??? ??? ??? ??? ??? ?11.1.4? 使用VideoView播放視頻 539
?? ??? ??? ??? ??? ??? ??? ?11.1.5? 使用MediaPlayer和SurfaceView播放視頻 540
?? ??? ??? ??? ?11.2? 使用MediaRecorder錄制音頻 543
?? ??? ??? ??? ?11.3? 控制攝像頭拍照 546
?? ??? ??? ??? ??? ??? ??? ?11.3.1? 通過Camera進(jìn)行拍照 546
?? ??? ??? ??? ??? ??? ??? ?11.3.2? 錄制視頻短片 551
?? ??? ??? ??? ?11.4? 本章小結(jié) 555
第12章? OpenGL與3D應(yīng)用開發(fā) 556
?? ??? ??? ??? ?12.1? 3D圖像與3D開發(fā)的基本知識(shí) 557
?? ??? ??? ??? ?12.2? OpenGL和OpenGL ES簡介 558
?? ??? ??? ??? ?12.3? 繪制2D圖形 559
?? ??? ??? ??? ??? ??? ??? ?12.3.1? 在Android應(yīng)用中使用OpenGL ES 559
?? ??? ??? ??? ??? ??? ??? ?12.3.2? 繪制平面上的多邊形 562
?? ??? ??? ??? ??? ??? ??? ?12.3.3? 旋轉(zhuǎn) 567
?? ??? ??? ??? ?12.4? 繪制3D圖形 569
?? ??? ??? ??? ??? ??? ??? ?12.4.1? 構(gòu)建3D圖形 569
?? ??? ??? ??? ??? ??? ??? ?12.4.2? 應(yīng)用紋理貼圖 573
?? ??? ??? ??? ?12.5? 本章小結(jié) 578
第13章? Android網(wǎng)絡(luò)應(yīng)用 579
?? ??? ??? ??? ?13.1? 基于TCP協(xié)議的網(wǎng)絡(luò)通信 580
?? ??? ??? ??? ??? ??? ??? ?13.1.1? TCP協(xié)議基礎(chǔ) 580
?? ??? ??? ??? ??? ??? ??? ?13.1.2? 使用ServerSocket創(chuàng)建TCP服務(wù)器端 581
?? ??? ??? ??? ??? ??? ??? ?13.1.3? 使用Socket進(jìn)行通信 582
?? ??? ??? ??? ??? ??? ??? ?13.1.4? 加入多線程 586
?? ??? ??? ??? ?13.2? 使用URL訪問網(wǎng)絡(luò)資源 592
?? ??? ??? ??? ??? ??? ??? ?13.2.1? 使用URL讀取網(wǎng)絡(luò)資源 593
?? ??? ??? ??? ??? ??? ??? ?13.2.2? 使用URLConnection提交請求 594
?? ??? ??? ??? ?13.3? 使用HTTP訪問網(wǎng)絡(luò) 599
?? ??? ??? ??? ??? ??? ??? ?13.3.1? 使用HttpURLConnection 600
?? ??? ??? ??? ??? ??? ??? ?13.3.2? 使用Apache HttpClient 605
?? ??? ??? ??? ?13.4? 使用WebView視圖顯示網(wǎng)頁 609
?? ??? ??? ??? ??? ??? ??? ?13.4.1? 使用WebView瀏覽網(wǎng)頁 610
?? ??? ??? ??? ??? ??? ??? ?13.4.2? 使用WebView加載HTML代碼 611
?? ??? ??? ??? ??? ??? ??? ?13.4.3? 使用WebView中的JavaScript調(diào)用Android方法 612
?? ??? ??? ??? ??? ??? ??? ?13.5? 使用Web Service進(jìn)行網(wǎng)絡(luò)編程 615
?? ??? ??? ??? ??? ??? ??? ?13.5.1? Web Service平臺(tái)概述 615
?? ??? ??? ??? ??? ??? ??? ?13.5.2? 使用Android應(yīng)用調(diào)用Web Service 617
?? ??? ??? ??? ?13.6? 本章小結(jié) 628
?? ??? ??? ??? ?
?? ??? ??? ??? ?
第14章? 管理Android手機(jī)桌面 629
?? ??? ??? ??? ?14.1? 管理手機(jī)桌面 630
?? ??? ??? ??? ??? ??? ??? ?14.1.1? 刪除桌面組件 630
?? ??? ??? ??? ??? ??? ??? ?14.1.2? 添加桌面組件 630
?? ??? ??? ??? ?14.2? 改變手機(jī)壁紙 631
?? ??? ??? ??? ??? ??? ??? ?14.2.1? 開發(fā)動(dòng)態(tài)壁紙(Live Wallpapers) 631
?? ??? ??? ??? ?14.3? 通過程序添加快捷方式 636
?? ??? ??? ??? ?14.4? 管理桌面控件 638
?? ??? ??? ??? ??? ??? ??? ?14.4.1? 開發(fā)桌面控件 638
?? ??? ??? ??? ??? ??? ??? ?14.4.2? Android 4.0新增的顯示數(shù)據(jù)集的桌面控件 642
?? ??? ??? ??? ?14.5? 本章小結(jié) 647
第15章? 傳感器應(yīng)用開發(fā) 648
?? ??? ??? ??? ?15.1? 利用Android的傳感器 649
?? ??? ??? ??? ??? ??? ??? ?15.1.1? 開發(fā)傳感器應(yīng)用 649
?? ??? ??? ??? ?15.2? Android的常用傳感器 651
?? ??? ??? ??? ??? ??? ??? ?15.2.1? 方向傳感器Orientation 651
?? ??? ??? ??? ??? ??? ??? ?15.2.2? 磁場傳感器Magnetic Field 652
?? ??? ??? ??? ??? ??? ??? ?15.2.3? 溫度傳感器Temperature 652
?? ??? ??? ??? ??? ??? ??? ?15.2.4? 光傳感器Light 652
?? ??? ??? ??? ??? ??? ??? ?15.2.5? 壓力傳感器Pressure 653
?? ??? ??? ??? ?15.3? 傳感器應(yīng)用案例 655
?? ??? ??? ??? ?15.4? 本章小結(jié) 660
第16章? GPS應(yīng)用開發(fā) 661
?? ??? ??? ??? ?16.1? 支持GPS的核心API 662
?? ??? ??? ??? ?16.2? 獲取LocationProvider 664
?? ??? ??? ??? ??? ??? ??? ?16.2.1? 獲取所有可用的LocationProvider 664
?? ??? ??? ??? ??? ??? ??? ?16.2.2? 通過名稱獲得指定LocationProvider 665
?? ??? ??? ??? ??? ??? ??? ?16.2.3? 根據(jù)Criteria獲得LocationProvider 665
?? ??? ??? ??? ?16.3? 獲取定位信息 666
?? ??? ??? ??? ??? ??? ??? ?16.3.1? 通過模擬器發(fā)送GPS信息 666
?? ??? ??? ??? ??? ??? ??? ?16.3.2? 獲取定位數(shù)據(jù) 667
?? ??? ??? ??? ?16.4? 臨近警告 668
?? ??? ??? ??? ?16.5? 本章小結(jié) 670
第17章? 使用Google Map服務(wù) 671
?? ??? ??? ??? ?17.1.?? 調(diào)用Google Map的準(zhǔn)備 672
?? ??? ??? ??? ??? ??? ??? ?17.1.1? 獲取Map API Key 672
?? ??? ??? ??? ??? ??? ??? ?17.1.2? 創(chuàng)建支持Google Map API的AVD 674
?? ??? ??? ??? ?17.2? 根據(jù)GPS信息在地圖上定位 676
?? ??? ??? ??? ?17.3? GPS導(dǎo)航 681
?? ??? ??? ??? ?17.4? 根據(jù)地址定位 683
?? ??? ??? ??? ??? ??? ??? ?17.4.1? 地址解析與反向地址解析 683
?? ??? ??? ??? ??? ??? ??? ?17.4.2? 根據(jù)地址定位 688
?? ??? ??? ??? ?17.5? 本章小結(jié) 689
第18章? 瘋狂連連看 690
?? ??? ??? ??? ?18.1? 連連看游戲簡介 691
?? ??? ??? ??? ?18.2? 開發(fā)游戲界面 691
?? ??? ??? ??? ??? ??? ??? ?18.2.1? 開發(fā)界面布局 692
?? ??? ??? ??? ??? ??? ??? ?18.2.2? 開發(fā)游戲界面組件 693
?? ??? ??? ??? ??? ??? ??? ?18.2.3? 處理方塊之間的連接線 696
?? ??? ??? ??? ?18.3? 連連看的狀態(tài)數(shù)據(jù)模型 697
?? ??? ??? ??? ??? ??? ??? ?18.3.1? 定義數(shù)據(jù)模型 697
?? ??? ??? ??? ??? ??? ??? ?18.3.2? 初始化游戲狀態(tài)數(shù)據(jù) 698
?? ??? ??? ??? ?18.4? 加載界面的圖片 700
?? ??? ??? ??? ?18.5? 實(shí)現(xiàn)游戲Activity 703
?? ??? ??? ??? ?18.6? 實(shí)現(xiàn)游戲邏輯 708
?? ??? ??? ??? ??? ??? ??? ?18.6.1? 定義GameService組件接口 708
?? ??? ??? ??? ??? ??? ??? ?18.6.2? 實(shí)現(xiàn)GameService組件 709
?? ??? ??? ??? ??? ??? ??? ?18.6.3? 獲取觸碰點(diǎn)的方塊 710
?? ??? ??? ??? ??? ??? ??? ?18.6.4? 判斷兩個(gè)方塊是否可以相連 711
?? ??? ??? ??? ??? ??? ??? ?18.6.5? 定義獲取通道的工具方法 713
?? ??? ??? ??? ??? ??? ??? ?18.6.6? 沒有轉(zhuǎn)折點(diǎn)的橫向連接 715
?? ??? ??? ??? ??? ??? ??? ?18.6.7? 沒有轉(zhuǎn)折點(diǎn)的縱向連接 715
?? ??? ??? ??? ??? ??? ??? ?18.6.8? 一個(gè)轉(zhuǎn)折點(diǎn)的連接 716
?? ??? ??? ??? ??? ??? ??? ?18.6.9? 兩個(gè)轉(zhuǎn)折點(diǎn)的連接 718
?? ??? ??? ??? ??? ??? ??? ?18.6.10? 找出最短距離 724
?? ??? ??? ??? ?18.7? 本章小結(jié) 726
第19章? 電子拍賣系統(tǒng) 727
?? ??? ??? ??? ?19.1? 系統(tǒng)功能簡介和架構(gòu)設(shè)計(jì) 728
?? ??? ??? ??? ??? ??? ??? ?19.1.1? 系統(tǒng)功能簡介 728
?? ??? ??? ??? ??? ??? ??? ?19.1.2? 系統(tǒng)架構(gòu)設(shè)計(jì) 729
?? ??? ??? ??? ?19.2? JSON簡介 730
?? ??? ??? ??? ??? ??? ??? ?19.2.1? 使用JSON語法創(chuàng)建對象 731
?? ??? ??? ??? ??? ??? ??? ?19.2.2? 使用JSON語法創(chuàng)建數(shù)組 732
?? ??? ??? ??? ??? ??? ??? ?19.2.3? Java的JSON支持 733
?? ??? ??? ??? ?19.3? 發(fā)送請求的工具類 734
?? ??? ??? ??? ?19.4? 用戶登錄 735
?? ??? ??? ??? ??? ??? ??? ?19.4.1? 處理登錄的Servlet 736
?? ??? ??? ??? ??? ??? ??? ?19.4.2? 用戶登錄 737
?? ??? ??? ??? ?19.5? 查看流拍物品 745
?? ??? ??? ??? ??? ??? ??? ?19.5.1? 查看流拍物品的Servlet 745
?? ??? ??? ??? ??? ??? ??? ?19.5.2? 查看流拍物品 746
?? ??? ??? ??? ?19.6? 管理物品種類 751
?? ??? ??? ??? ??? ??? ??? ?19.6.1? 瀏覽物品種類的Servlet 752
?? ??? ??? ??? ??? ??? ??? ?19.6.2? 查看物品種類 752
?? ??? ??? ??? ??? ??? ??? ?19.6.3? 添加種類的Servlet 757
?? ??? ??? ??? ??? ??? ??? ?19.6.4? 添加物品種類 758
?? ??? ??? ??? ?19.7? 管理拍賣物品 760
?? ??? ??? ??? ??? ??? ??? ?19.7.1? 查看自己的拍賣物品的Servlet 760
?? ??? ??? ??? ??? ??? ??? ?19.7.2? 查看自己的拍賣物品 761
?? ??? ??? ??? ??? ??? ??? ?19.7.3? 添加拍賣物品的Servlet 764
?? ??? ??? ??? ??? ??? ??? ?19.7.4? 添加拍賣物品 765
?? ??? ??? ??? ?19.8? 參與競拍 771
?? ??? ??? ??? ??? ??? ??? ?19.8.1? 選擇物品種類 771
?? ??? ??? ??? ??? ??? ??? ?19.8.2? 根據(jù)種類瀏覽物品的Servlet 772
?? ??? ??? ??? ??? ??? ??? ?19.8.3? 根據(jù)種類瀏覽物品 773
?? ??? ??? ??? ??? ??? ??? ?19.8.4? 參與競價(jià)的Servlet 775
?? ??? ??? ??? ??? ??? ??? ?19.8.5? 參與競價(jià) 776
?? ??? ??? ??? ?19.9? 權(quán)限控制 781
?? ??? ??? ??? ?19.10? 本章小結(jié) 782
總結(jié)
以上是生活随笔為你收集整理的《疯狂Android讲义》第二版目录的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 使用JAVA实现看吉日/黄道吉日/看日子
- 下一篇: 剑指offer55 二叉树的深度 捏软柿