Android開發完全講義(第三版)
-
【作 者】李寧
【I S B N 】978-7-5170-3663-0
【責任編輯】張玉玲
【適用讀者群】本專通用
【出版時間】2016-01-07
【開 本】16開
【裝幀信息】平裝(光膜)
【版 次】第1版第1次印刷
【頁 數】608
【千字數】975
【印 張】38
【定 價】¥88
【叢 書】暫無分類
【備注信息】
簡介
本書特色
前言
章節列表
精彩閱讀
下載資源
相關圖書
Android經典專著升級版,全面介紹Android的應用開發技術。主要內容包括Android入門,第一個Android程序,Android應用程序架構,建立用戶接口,控件詳解,View事件分發機制,移動存儲解決方案,App之間的通信,服務(Service),網絡技術,多媒體技術,Fragment,ActionBar,Android 5.x新特性:質感主題,Android 5.x新特性:陰影和視圖裁剪,Android 5.x新特性:列表和卡片控件,Android 5.x新特性:Drawable資源,其他Android 5.X新特性,2D動畫,OpenGL ES編程,媒體特效API,資源、國際化與自適應,訪問Android手機的硬件,NDK技術,藍牙技術,有趣的Android技術,Android App性能調優,內存泄露檢測,項目實戰:超級手電筒,項目實戰:基于XMPP的IM客戶端。
本書適合:有一定的Java基礎,想通過Android進入移動開發領域的讀者;已經有一定的Android開發經驗,想進一步提高Android開發能力的讀者;想將本書作為Android的參考手冊,隨時隨地查閱的讀者;對Android報有濃厚興趣的其他手機平臺的開發人員;正在學習Android的在校大學生以及培訓學校的學員等使用。
資深一線Android開發工程師、極客、51CTO、cnblogs、CSDN超人氣博主“銀河使者”快意分享
本書的兩版版權均輸出到臺灣,深受兩岸數萬Android學習者好評,被稱為“Android第1節”
一本真正全面又系統的Android開發技術學習講義,輕梭不乏味
完美的實戰環境搭建,Step by Step的案例講解,真正消滅常見學習暗障
贈送全國首個技術測試APP金版帳號(賬號獲得方式:見geekculture技術支持微信公眾號)
第三版前言
從2007年的第一版Android系統,到現在為止(2015年),已經整整8年時光了,正進入穩步發展的時期。Android的版本也從1.x、2.x、3.x、4.x升級到現在的5.x。在最新版的Android系統中,變化還是大大地。除了底層從Dalivk變到了ART,SDK層也發生了翻天覆地的變化。除了增加了數千API,還引入了質感設計等新的UI風格。
由于現在關于Android 5.x的書仍然比較匱乏,所以在第二版的基礎上,增加了Android 5.x的新特性部分。尤其是質感設計部分,讀者可以通過這一部分內容,充分了解Android 5.x的主要變化。由于Android 5.x引入了ART技術,所以App的啟動和運行效率明顯提高,因此,未來的Android將會徹底擺脫App體驗沒有iOS App好的帽子。
本書是一本全面介紹Android各種常用開發技術的專著。全面介紹了Android 5.x的各種開發技術。
1.內容豐富,知識面廣
本書全面介紹了Android的各種應用開發技術,主要包括四大應用程序組件、UI控件、Fragment、ActionBar、數據存儲、網絡、藍牙、多媒體、NDK、GPS等。讀者通過本書可以深入了解Android應用開發技術的細節。
2.深入講解了Android 5.x帶來的新技術
本書利用多章篇幅,詳細介紹了Android 5.x給我們帶來的新特性。例如,質感主題、新的控件、矢量動畫等技術。通過這些內容,讀者一定會喜歡上Android 5.x的。因為它不僅給我們帶來了新的API,還帶來了驚喜。
3.內容詳實,深入淺出
本書絕大多數章節都配有大量的習題,采用了先理論后實戰的方式進行講解。讓讀者在理論和代碼編寫上都游刃有余。
4.精彩綜合實戰案例
為了讓讀者可以綜合運用本書知識,最后兩章提供了兩個綜合案例:超級手電筒和基于XMPP的IM客戶端。通過這兩個綜合案例,可以進一步消化本書的知識和技巧。
源代碼下載:
本書源代碼可以通過微信公眾號(geekculture)下載,二維碼如右圖;或從中國水利水電出版社網站或萬水書苑上免費下載,網址為:http://www.waterpub.com.cn/softdown/和http://www.dgboyong.cn。
1.1 Android的基本概念 1
1.1.1 Android簡介 2
1.1.2 Android的系統構架 3
1.2 Android開發環境的搭建 4
1.2.1 開發Android程序需要些什么 4
1.2.2 安裝Android SDK 5
1.2.3 安裝Eclipse插件ADT 7
1.2.4 創建AVD 8
1.2.5 啟動Android模擬器 10
1.2.6 讓Android模擬器飛(X86加速) 11
1.2.7 測試Android開發環境是否
安裝成功 12
1.3 Android SDK中的常用命令行工具 14
1.3.1 啟動和關閉ADB服務(adb
start-server和adb kill-server) 14
1.3.2 查詢當前模擬器/設備的實例
(adb devices) 14
1.3.3 安裝、卸載和運行程序(adb install、
adb uninstall和am) 14
1.3.4 PC與模擬器或真機交換文件(adb
pull和adb push) 15
1.3.5 Shell命令 15
1.3.6 創建、刪除和瀏覽AVD設備
(android) 16
1.3.7 獲取Android版本對應的ID 17
1.3.8 創建SD卡 17
1.4 Android的學習資源 17
1.5 Google Play 18
1.6 小結 18
第2章 第一個Android程序 19
2.1 編寫用于顯示當前日期和時間的程序 19
2.1.1 新建一個Android工程 19
2.1.2 界面控件的布局 20
2.1.3 編寫實際代碼 20
2.2 調試程序 22
2.3 簽名和發布應用程序 23
2.3.1 使用命令行方式進行簽名 23
2.3.2 使用ADT插件方式進行簽名 24
2.4 DDMS透視圖 25
2.5 小結 26
第3章 Android應用程序架構 27
3.1 Android應用程序中的資源 27
3.1.1 資源存放在哪里 27
3.1.2 資源的種類 28
3.1.3 資源的基本使用方法 28
3.2 Android的應用程序組件 29
3.2.1 活動(Activity)組件 29
3.2.2 服務(Service)組件 30
3.2.3 廣播接收者(Broadcast receivers)
組件 30
3.2.4 內容提供者(Content providers)
組件 31
3.3 AndroidManifest.xml文件的結構 31
3.4 小結 32
第4章 建立用戶接口 33
4.1 建立、配置和使用Activity 33
4.1.1 建立和配置Activity 33
4.1.2 Activity的生命周期 35
4.1.3 Activity生命周期的演示 37
4.2 視圖(View) 40
4.2.1 視圖簡介 40
4.2.2 使用XML布局文件控制視圖 40
4.2.3 在代碼中控制視圖 42
4.2.4 混合使用XML布局文件和代碼
來控制視圖 43
4.2.5 定制控件(Widget)的三種方式 45
4.2.6 定制控件—帶圖像的TextView 46
4.2.7 定制控件—帶文本標簽的
EditText 49
4.2.8 定制控件—可更換表盤的
指針時鐘 52
4.3 使用AlertDialog類創建對話框 57
4.3.1 AlertDialog類簡介 57
4.3.2 “確認/取消”對話框 58
4.3.3 創建詢問是否刪除文件的
“確認/取消”對話框 58
4.3.4 帶3個按鈕的對話框 60
4.3.5 創建“覆蓋/忽略/取消”對話框 60
4.3.6 簡單列表對話框 61
4.3.7 單選列表對話框 61
4.3.8 多選列表對話框 62
4.3.9 創建3種選擇省份的列表對話框 62
4.3.10 水平進度對話框和圓形進度
對話框 67
4.3.11 水平進度對話框和圓形進度
對話框演示 68
4.3.12 自定義對話框 71
4.3.13 創建登錄對話框 71
4.3.14 用Activity托管對話框 73
4.3.15 創建懸浮對話框和觸摸任何位置
都可以關閉的對話框 74
4.4 Toast和Notification 77
4.4.1 用Toast顯示提示信息框 77
4.4.2 Notification與狀態欄信息 78
4.5 布局 81
4.5.1 框架布局(FrameLayout) 81
4.5.2 霓虹燈效果的TextView 81
4.5.3 線性布局(LinearLayout) 83
4.5.4 利用LinearLayout將按鈕放在屏幕
的四角和中心位置 85
4.5.5 相對布局(RelativeLayout) 86
4.5.6 利用RelativeLayout實現梅花效果
的布局 86
4.5.7 表格布局(TableLayout) 87
4.5.8 計算器按鈕的布局 88
4.5.9 絕對布局(AbsoluteLayout) 88
4.5.10 查看apk文件中的布局 89
4.6 小結 89
第5章 控件詳解 90
5.1 顯示和編輯文本的控件 91
5.1.1 顯示文本的控件:TextView 91
5.1.2 在TextView中顯示URL及不同字體
大小、不同顏色的文本 93
5.1.3 帶邊框的TextView 94
5.1.4 設置TextView控件的行間距 97
5.1.5 輸入文本的控件:EditText 98
5.1.6 在EditText中輸入特定的字符 99
5.1.7 按Enter鍵顯示EditText 100
5.1.8 自動完成輸入內容的控件:
AutoCompleteTextView 101
5.2 按鈕與復選框控件 102
5.2.1 普通按鈕控件:Button 103
5.2.2 異形(圓形、五角星、螺旋形和
箭頭)按鈕 103
5.2.3 圖像按鈕控件:ImageButton 105
5.2.4 同時顯示圖像和文字的按鈕 105
5.2.5 選項按鈕控件:RadioButton 106
5.2.6 開關狀態按鈕控件:ToggleButton 107
5.2.7 復選框控件:CheckBox 108
5.2.8 利用XML布局文件動態創建
CheckBox 108
5.3 日期與時間控件 110
5.3.1 輸入日期的控件:DatePicker 110
5.3.2 輸入時間的控件:TimePicker 110
5.3.3 DatePicker、TimePicker與TextView
同步顯示日期和時間 111
5.3.4 顯示時鐘的控件:AnalogClock
和DigitalClock 112
5.4 進度條控件 112
5.4.1 進度條控件:ProgressBar 113
5.4.2 拖動條控件:SeekBar 114
5.4.3 改變ProgressBar和SeekBar
的顏色 115
5.4.4 評分控件:RatingBar 116
5.5 其他重要控件 118
5.5.1 顯示圖像的控件:ImageView 118
5.5.2 可顯示圖像指定區域的ImageView
控件 119
5.5.3 動態縮放和旋轉圖像 119
5.5.4 列表控件:ListView 121
5.5.5 可以單選和多選的ListView 123
5.5.6 動態添加、刪除ListView列表項 125
5.5.7 改變ListView列表項選中狀態
的背景顏色 128
5.5.8 封裝ListView的Activity:
ListActivity 129
5.5.9 使用SimpleAdapter建立復雜的
列表項 130
5.5.10 給應用程序評分 131
5.5.11 可展開的列表控件:
ExpandableListView 133
5.5.12 下拉列表控件:Spinner 136
5.5.13 垂直滾動視圖控件:ScrollView 137
5.5.14 水平滾動視圖控件:
HorizontalScrollView 138
5.5.15 可垂直和水平滾動的視圖 138
5.5.16 網格視圖控件:GridView 139
5.5.17 可循環顯示和切換圖像的控件:
Gallery和ImageSwitcher 140
5.6 小結 142
第6章 View事件分發機制 143
6.1 事件分發的始作俑者 143
6.2 View類中的事件分發引擎 144
6.3 ViewGroup類的事件分發引擎 146
6.4 通過代碼驗證View事件分發機制 148
6.4.1 實現一個派生自Button的類 148
6.4.2 實現布局 149
6.4.3 實現主窗口類 149
6.5 單擊事件(onClick)是如何被觸發的 152
6.6 Activity中的dispatchTouchEvent方法 154
6.7 小結 157
第7章 移動存儲解決方案 158
7.1 最簡單的數據存儲方式:
SharedPreferences 158
7.1.1 使用SharedPreferences存取數據 158
7.1.2 數據的存儲位置和格式 160
7.1.3 存取復雜類型的數據 161
7.1.4 設置數據文件的訪問權限 163
7.1.5 可以保存設置的Activity:
PreferenceActivity 165
7.2 文件的存儲 168
7.2.1 openFileOutput和openFileInput
方法 168
7.2.2 SD卡文件瀏覽器 169
7.2.3 存取SD卡中的圖像 173
7.2.4 SAX引擎讀取XML文件的原理 175
7.2.5 將XML數據轉換成Java對象 175
7.3 SQLite數據庫 178
7.3.1 SQLite數據庫管理工具 178
7.3.2 創建數據庫和表 179
7.3.3 模糊查詢 181
7.3.4 分頁顯示記錄 181
7.3.5 事務 181
7.4 在Android中使用SQLite數據庫 182
7.4.1 SQLiteOpenHelper類與自動
升級數據庫 182
7.4.2 SimpleCursorAdapter類與
數據綁定 183
7.4.3 帶照片的聯系人管理系統 185
7.4.4 將數據庫與應用程序一起發布 188
7.4.5 英文詞典 189
7.5 持久化數據庫引擎(db4o) 192
7.5.1 什么是db4o 192
7.5.2 下載和安裝db4o 193
7.5.3 創建和打開數據庫 193
7.5.4 向數據庫中插入Java對象 194
7.5.5 從數據庫中查詢Java對象 195
7.5.6 高級數據查詢 195
7.5.7 更新數據庫中的Java對象 196
7.5.8 刪除數據庫中的Java對象 196
7.6 小結 196
第8章 App之間的通信 197
8.1 Intent與Activity 197
8.1.1 用Intent啟動Activity,并在Activity
之間傳遞數據 197
8.1.2 調用其他應用程序中的Activity(撥打
電話、瀏覽網頁、發E-mail等) 200
8.1.3 定制自己的Activity Action 204
8.1.4 將電子詞典的查詢功能共享
成一個Activity Action 205
8.2 接收和發送廣播 207
8.2.1 接收系統廣播 208
8.2.2 開機可自動運行的程序 208
8.2.3 收到短信了,該做點什么 209
8.2.4 顯示手機電池的當前電量 211
8.2.5 在自己的應用程序中發送廣播 212
8.2.6 接收聯系人系統中發送的添加
聯系人廣播 213
8.3 小結 214
第9章 服務(Service) 215
9.1 Service起步 215
9.1.1 Service的生命周期 215
9.1.2 綁定Activity和Service 218
9.2 系統服務 220
9.2.1 獲得系統服務 220
9.2.2 監聽手機來電 221
9.2.3 來電黑名單 222
9.2.4 在模擬器上模擬重力感應 223
9.2.5 手機翻轉靜音 225
9.3 時間服務 227
9.3.1 計時器:Chronometer 227
9.3.2 預約時間Handler 229
9.3.3 定時器Timer 230
9.3.4 在線程中更新GUI組件 232
9.3.5 全局定時器AlarmManager 234
9.3.6 定時更換壁紙 234
9.3.7 多次定時提醒 237
9.4 跨進程訪問(AIDL服務) 239
9.4.1 什么是AIDL服務 240
9.4.2 建立AIDL服務的步驟 240
9.4.3 建立AIDL服務 240
9.4.4 傳遞復雜數據的AIDL服務 243
9.5 小結 248
第10章 網絡技術 249
10.1 可裝載網絡數據的控件 249
10.1.1 裝載網絡數據的原理 250
10.1.2 將網絡圖像裝載到ListView
控件中 250
10.1.3 Google圖像畫廊(Gallery) 253
10.2 WebView控件 257
10.2.1 用WebView控件瀏覽網頁 257
10.2.2 手機瀏覽器 258
10.2.3 用WebView控件裝載HTML代碼 259
10.2.4 將英文詞典整合到Web頁中
(JavaScript調用Java方法) 260
10.3 訪問HTTP資源 262
10.3.1 提交HTTP GET和HTTP POST
請求 262
10.3.2 HttpURLConnection類 265
10.3.3 上傳文件 265
10.3.4 遠程Apk安裝器 268
10.3.5 調用WebService 270
10.3.6 通過WebService查詢產品信息 271
10.4 Internet地址 275
10.4.1 Internet地址概述 275
10.4.2 創建InetAddress對象 276
10.4.3 判斷IP地址類型 278
10.5 客戶端Socket 279
10.5.1 Socket類基礎 280
10.5.2 多種連接服務端的方式 282
10.5.3 客戶端Socket的超時 283
10.5.4 Socket類的getter和setter方法 283
10.5.5 Socket的異常 289
10.6 服務端Socket 290
10.6.1 創建ServerSocket對象 290
10.6.2 設置請求隊列的長度 291
10.6.3 綁定IP地址 292
10.6.4 默認構造方法的使用 292
10.6.5 讀取和發送數據 293
10.6.6 關閉連接 294
10.7 小結 294
第11章 多媒體技術 295
11.1 圖形 295
11.1.1 圖形繪制基礎 296
11.1.2 繪制基本的圖形和文本 298
11.1.3 繪制位圖 301
11.1.4 用兩種方式繪制位圖 302
11.1.5 設置顏色的透明度 303
11.1.6 可任意改變透明度的位圖 303
11.1.7 旋轉圖像 304
11.1.8 旋轉動畫 305
11.1.9 扭曲圖像 306
11.1.10 按圓形軌跡扭曲圖像 307
11.1.11 拉伸圖像 310
11.1.12 拉伸圖像演示 310
11.1.13 路徑 312
11.1.14 沿著路徑繪制文本 316
11.1.15 可在圖像上繪制圖形的畫板 318
11.2 音頻和視頻 323
11.2.1 使用MediaPlayer播放MP3文件 323
11.2.2 使用MediaRecorder錄音 324
11.2.3 使用VideoView播放視頻 325
11.2.4 使用SurfaceView播放視頻 326
11.3 小結 327
第12章 Fragment 328
12.1 什么是Fragment 328
12.2 Fragment的設計原則 330
12.3 Fragment初步 331
12.3.1 Fragment的使用方法 331
12.3.2 實例:一個簡單的Fragment App 331
12.4 Fragment的生命周期 335
12.4.1 生命周期詳解 335
12.4.2 實例:Fragment生命周期演示 340
12.5 動態創建Fragment 343
12.6 Fragment與Activity之間的交互 346
12.7 回退棧 348
12.8 小結 350
第13章 ActionBar 351
13.1 ActionBar簡介 351
13.2 ActionBar基礎 352
13.2.1 隱藏/顯示ActionBar 352
13.2.2 Action按鈕 354
13.3 應用程序圖標導航 357
13.4 收縮和展開Action View 358
13.5 導航標簽 361
13.6 下拉導航列表 366
13.7 小結 368
第14章 Android 5.x新特性:質感主題 369
14.1 使用不同的質感主題 369
14.2 修改質感主題的默認屬性值 371
14.3 小結 372
第15章 Android 5.x新特性:陰影和
視圖裁剪 373
15.1 陰影 373
15.1.1 高度和Z軸的位置 373
15.1.2 帶有陰影的拖動效果 376
15.2 視圖裁剪 377
15.3 小結 379
第16章 Android 5.x新特性:列表和
卡片控件 380
16.1 RecyclerView控件簡介 380
16.2 用RecyclerView控件實現垂直
列表效果 381
16.2.1 建立Model 381
16.2.2 定制列表項的分隔條 382
16.2.3 實現Adapter類 383
16.2.4 如何使用RecyclerView控件 385
16.2.5 用RecyclerView控件實現增加和
刪除列表項的效果 386
16.3 用RecyclerView控件實現畫廊的效果 389
16.3.1 為畫廊提供數據 390
16.3.2 自定義RecyclerView控件 391
16.3.3 讓RecyclerView控件橫屏顯示 392
16.4 CardView控件 393
16.4.1 出現R$styleable沒找到錯誤的
原因 393
16.4.2 在布局文件中使用CardView 395
16.4.3 用Java代碼來控制CardView
控件 396
16.5 小結 398
第17章 Android 5.x新特性:Drawable
資源 399
17.1 著色 399
17.2 矢量Drawable資源 400
17.3 矢量動畫 402
17.3.1 指針會動的時鐘 402
17.3.2 笑臉表情 404
17.4 Ripple Drawable資源 406
17.5 小結 409
第18章 其他Android 5.x新特性 410
18.1 以Immersive模式隱藏及顯示狀態欄
和導航條 410
18.1.1 什么是Immersive模式 410
18.1.2 實現界面的布局 411
18.1.3 隱藏和顯示 411
18.1.4 監聽隱藏和顯示狀態 412
18.2 新的通知中心 412
18.3 續航與安全性 413
18.4 更多的新功能 414
18.5 小結 414
第19章 2D動畫 415
19.1 幀(Frame)動畫 415
19.1.1 AnimationDrawable與幀動畫 416
19.1.2 通過幀動畫方式播放GIF動畫 417
19.1.3 播放幀動畫的子集 420
19.2 補間(Tween)動畫 422
19.2.1 移動補間動畫 422
19.2.2 循環向右移動的EditText與
上下彈跳的球 424
19.2.3 縮放補間動畫 426
19.2.4 跳動的心 427
19.2.5 旋轉補間動畫 428
19.2.6 旋轉的星系 429
19.2.7 透明度補間動畫 430
19.2.8 投擲炸彈 431
19.2.9 振動效果 434
19.2.10 自定義動畫渲染器(Interceptor) 434
19.2.11 以動畫方式切換View的
控件ViewFlipper 436
19.3 小結 437
第20章 OpenGL ES編程 438
20.1 OpenGL ES簡介 438
20.2 在3D空間中繪圖 440
20.2.1 繪制3D圖形的第一步 440
20.2.2 定義頂點 442
20.2.3 繪制三角形 443
20.2.4 三角形合并法繪制矩形 445
20.2.5 頂點法繪制矩形 447
20.2.6 頂點的選取順序 448
20.2.7 索引法繪制矩形 449
20.2.8 基于OpenGL ES的動畫原理 450
20.2.9 旋轉的矩形 450
20.3 視圖 452
20.3.1 有趣的比喻:照相機拍照 453
20.3.2 模型變換:立方體旋轉 454
20.3.3 用gluLookAt方法變換視圖 457
20.4 顏色 458
20.5 小結 460
第21章 媒體特效API 461
21.1 實現主界面布局 461
21.2 初始化主界面 463
21.3 媒體特效API演示 464
21.3.1 Brightness特效 464
21.3.2 反差特效(Contrast) 464
21.3.3 Crossprocess特效 465
21.3.4 紀錄片(Documentary)特效 465
21.3.5 雙色調(Duotone)特效 465
21.3.6 魚眼(Fish Eye)特效 465
21.3.7 垂直翻轉特效 466
21.3.8 灰度特效 467
21.3.9 Lomoish特效 467
21.3.10 底片特效 467
21.3.11 色調特效 467
21.4 讓特效生效 468
21.5 小結 468
第22章 資源、國際化與自適應 469
22.1 Android中的資源 470
22.1.1 Android怎么存儲資源 470
22.1.2 資源的種類 470
22.1.3 資源文件的命名 471
22.2 定義和使用資源 471
22.2.1 使用系統資源 471
22.2.2 字符串(String)資源 473
22.2.3 數組(Array)資源 474
22.2.4 顏色(Color)資源 476
22.2.5 尺寸(Dimension)資源 477
22.2.6 類型(Style)資源 479
22.2.7 主題(Theme)資源 480
22.2.8 繪畫(Drawable)資源 482
22.2.9 動畫(Animation)資源 483
22.2.10 菜單(Menu)資源 483
22.2.11 布局(Layout)資源 486
22.2.12 屬性(Attribute)資源 486
22.2.13 改進可顯示圖標的IconTextView
控件 488
22.2.14 XML資源 490
22.2.15 RAW資源 491
22.2.16 ASSETS資源 492
22.3 國際化和資源自適應 492
22.3.1 對資源進行國際化 492
22.3.2 Locale與國際化 494
22.3.3 常用的資源配置 494
22.4 小結 495
第23章 訪問Android手機的硬件 496
23.1 在手機上測試硬件 496
23.1.1 安裝Android USB驅動 497
23.1.2 在手機上測試程序 498
23.1.3 在手機上調試程序 499
23.2 錄音 500
23.3 控制手機攝像頭(拍照) 500
23.3.1 調用系統的拍照功能 501
23.3.2 實現自己的拍照Activity 503
23.4 傳感器在手機中的應用 507
23.4.1 在應用程序中使用傳感器 507
23.4.2 電子羅盤 509
23.4.3 計步器 510
23.5 GPS與地圖定位 511
23.5.1 Google地圖 511
23.5.2 用GPS定位到當前位置 515
23.6 WIFI 516
23.7 小結 519
第24章 NDK技術 520
24.1 Android NDK簡介 520
24.2 安裝、配置和測試NDK開發環境 521
24.2.1 系統和軟件要求 521
24.2.2 下載和安裝Android NDK 522
24.2.3 下載和安裝Cygwin 522
24.2.4 配置Android NDK的開發環境 525
24.2.5 編譯和運行NDK自帶的例子 526
24.3 Android NDK開發 528
24.3.1 JNI接口設計 528
24.3.2 編寫Android NDK程序的步驟 529
24.3.3 將文件中的小寫字母轉換成大寫
字母(NDK版本) 529
24.3.4 配置Android.mk文件 532
24.3.5 Android NDK定義的變量 533
24.3.6 Android NDK定義的函數 533
24.3.7 描述模塊的變量 534
24.3.8 配置Application.mk文件 535
24.4 小結 536
第25章 藍牙技術 537
25.1 藍牙簡介 537
25.2 打開和關閉藍牙設備 538
25.3 搜索藍牙設備 539
25.4 藍牙數據傳輸 541
25.5 藍牙通信一定需要UUID嗎 544
25.6 小結 545
第26章 有趣的Android技術 546
26.1 手勢(Gesture) 546
26.1.1 創建手勢文件 546
26.1.2 通過手勢輸入字符串 547
26.1.3 通過手勢調用程序 549
26.1.4 編寫自己的手勢創建器 550
26.2 讓手機說話(TTS) 551
26.3 動態壁紙 552
26.4 小結 559
第27章 Android App性能調優 560
27.1 刷新頻率與丟幀 560
27.2 開發者選項與查看GPU負載 561
27.3 GPU渲染時間與性能調優 564
27.4 Overdraw與區域繪制 565
27.5 內存抖動與性能 566
27.6 小結 568
第28章 內存泄露檢測 569
28.1 造成內存泄露的原因 569
28.1.1 非靜態內嵌類 569
28.1.2 Handler要用靜態變量或弱引用 570
28.1.3 線程引發的內存泄露 571
28.1.4 其他可能會造成內存泄露的情況 572
28.1.5 弱引用(WeakReference)和軟引
用(SoftReference) 572
28.2 內存泄露檢測工具:Eclipse MAT 573
28.3 小結 576
第29章 項目實戰:超級手電筒 577
29.1 手電筒APP簡介 577
29.2 手電筒的架構 578
29.3 手電筒照明 579
29.3.1 手電筒的布局 579
29.3.2 通過代碼調整控制區域位置 580
29.3.3 打開和關閉閃光燈 580
29.4 警告燈 581
29.5 發送莫爾斯密碼 583
29.6 其他功能的實現 585
29.7 小結 585
第30章 項目實戰:基于XMPP的IM
客戶端 586
30.1 XMPP簡介 586
30.2 Openfire安裝與配置 587
30.3 Spark的安裝和使用 590
30.4 用戶登錄 591
30.5 獲取好友信息 591
30.6 添加好友 594
30.7 發送聊天信息 594
30.8 接收聊天信息 595
30.9 其他功能 596
30.10 小結 596
- 輸水管線工程風險管理 [張勇 黨亥生 著]
- 民用航空飛機標準線路施工 [主編 王志敏 陳明]
- 不息的水脈—大運河講談錄 [趙珩 著]
- 實用運籌學 [主編 邢育紅 于晉臣]
- 三峽梯級電站水資源決策支持系統研究與開發 [姚華明 潘紅忠 湯正]
- 海南黎族民俗文化鑒賞 [龐國華 著]
- 石墨烯在太赫茲及中紅外頻段電磁器件設計中的應用 [李艷秀 莊華偉 著]
- 電子技術(第二版) [主編 覃愛娜 李飛]
- 辦公自動化高級應用 [陳萍 朱曉玉]
- 信息處理技術員考試32小時通關 [薛大龍]
- 電子產品設計案例教程(微課版)—基于嘉立創EDA(專業版) [王靜 莫志宏 陳學昌 丁紅]
- C程序設計實踐教程 [劉衛國]
- C程序設計(慕課版) [劉衛國]
- Web技術開發教程(基于.NET開源MVC框架) [王合闖 韓紅玲 王青正 陳海蕊]
- 商務英語翻譯教程(筆譯)(第四版) [主編 王軍平]
- 智慧零售技術與應用 [洪旭 著]
- 建設工程法規實務 [主編 余瀅]
- 商務秘書理論與實務(第三版) [主編 張同欽]
- 程序設計基礎實踐教程(C/C++語言版) [張桂芬 葛麗娜]
- C++案例項目精講 [主編 楊國興]
- 勞動爭議處理實務 [主編 王秀卿 羅靜]
- 工程數學 [主編 郭立娟 王海]
- 語音識別理論與實踐 [主編 莫宏偉]
- 信息系統項目管理師章節習題與考點特訓(第二版) [主編 薛大龍]
- 武術基礎教程 [主編 李代勇 謝志民]
- 計算機網絡實訓教程 [主編 張浩軍 趙玉娟]
- 畫法幾何與機械制圖習題集(多學時) [主編 趙軍]
- HCIA-Datacom認證題庫分類精講 [主 編 韓立剛]
- SwiftUI完全開發 [李智威 著]
- 網絡規劃設計師備考一本通 [夏杰 編著]