Android開發(fā)完全講義(第三版)

-
【作 者】李寧
【I S B N 】978-7-5170-3663-0
【責(zé)任編輯】張玉玲
【適用讀者群】本專通用
【出版時(shí)間】2016-01-07
【開 本】16開
【裝幀信息】平裝(光膜)
【版 次】第1版第1次印刷
【頁 數(shù)】608
【千字?jǐn)?shù)】975
【印 張】38
【定 價(jià)】¥88
【叢 書】暫無分類
【備注信息】
簡介
本書特色
前言
章節(jié)列表
精彩閱讀
下載資源
相關(guān)圖書
Android經(jīng)典專著升級版,全面介紹Android的應(yīng)用開發(fā)技術(shù)。主要內(nèi)容包括Android入門,第一個(gè)Android程序,Android應(yīng)用程序架構(gòu),建立用戶接口,控件詳解,View事件分發(fā)機(jī)制,移動(dòng)存儲(chǔ)解決方案,App之間的通信,服務(wù)(Service),網(wǎng)絡(luò)技術(shù),多媒體技術(shù),F(xiàn)ragment,ActionBar,Android 5.x新特性:質(zhì)感主題,Android 5.x新特性:陰影和視圖裁剪,Android 5.x新特性:列表和卡片控件,Android 5.x新特性:Drawable資源,其他Android 5.X新特性,2D動(dòng)畫,OpenGL ES編程,媒體特效API,資源、國際化與自適應(yīng),訪問Android手機(jī)的硬件,NDK技術(shù),藍(lán)牙技術(shù),有趣的Android技術(shù),Android App性能調(diào)優(yōu),內(nèi)存泄露檢測,項(xiàng)目實(shí)戰(zhàn):超級手電筒,項(xiàng)目實(shí)戰(zhàn):基于XMPP的IM客戶端。
本書適合:有一定的Java基礎(chǔ),想通過Android進(jìn)入移動(dòng)開發(fā)領(lǐng)域的讀者;已經(jīng)有一定的Android開發(fā)經(jīng)驗(yàn),想進(jìn)一步提高Android開發(fā)能力的讀者;想將本書作為Android的參考手冊,隨時(shí)隨地查閱的讀者;對Android報(bào)有濃厚興趣的其他手機(jī)平臺(tái)的開發(fā)人員;正在學(xué)習(xí)Android的在校大學(xué)生以及培訓(xùn)學(xué)校的學(xué)員等使用。
資深一線Android開發(fā)工程師、極客、51CTO、cnblogs、CSDN超人氣博主“銀河使者”快意分享
本書的兩版版權(quán)均輸出到臺(tái)灣,深受兩岸數(shù)萬Android學(xué)習(xí)者好評,被稱為“Android第1節(jié)”
一本真正全面又系統(tǒng)的Android開發(fā)技術(shù)學(xué)習(xí)講義,輕梭不乏味
完美的實(shí)戰(zhàn)環(huán)境搭建,Step by Step的案例講解,真正消滅常見學(xué)習(xí)暗障
贈(zèng)送全國首個(gè)技術(shù)測試APP金版帳號(賬號獲得方式:見geekculture技術(shù)支持微信公眾號)
第三版前言
從2007年的第一版Android系統(tǒng),到現(xiàn)在為止(2015年),已經(jīng)整整8年時(shí)光了,正進(jìn)入穩(wěn)步發(fā)展的時(shí)期。Android的版本也從1.x、2.x、3.x、4.x升級到現(xiàn)在的5.x。在最新版的Android系統(tǒng)中,變化還是大大地。除了底層從Dalivk變到了ART,SDK層也發(fā)生了翻天覆地的變化。除了增加了數(shù)千API,還引入了質(zhì)感設(shè)計(jì)等新的UI風(fēng)格。
由于現(xiàn)在關(guān)于Android 5.x的書仍然比較匱乏,所以在第二版的基礎(chǔ)上,增加了Android 5.x的新特性部分。尤其是質(zhì)感設(shè)計(jì)部分,讀者可以通過這一部分內(nèi)容,充分了解Android 5.x的主要變化。由于Android 5.x引入了ART技術(shù),所以App的啟動(dòng)和運(yùn)行效率明顯提高,因此,未來的Android將會(huì)徹底擺脫App體驗(yàn)沒有iOS App好的帽子。
本書是一本全面介紹Android各種常用開發(fā)技術(shù)的專著。全面介紹了Android 5.x的各種開發(fā)技術(shù)。
1.內(nèi)容豐富,知識(shí)面廣
本書全面介紹了Android的各種應(yīng)用開發(fā)技術(shù),主要包括四大應(yīng)用程序組件、UI控件、Fragment、ActionBar、數(shù)據(jù)存儲(chǔ)、網(wǎng)絡(luò)、藍(lán)牙、多媒體、NDK、GPS等。讀者通過本書可以深入了解Android應(yīng)用開發(fā)技術(shù)的細(xì)節(jié)。
2.深入講解了Android 5.x帶來的新技術(shù)
本書利用多章篇幅,詳細(xì)介紹了Android 5.x給我們帶來的新特性。例如,質(zhì)感主題、新的控件、矢量動(dòng)畫等技術(shù)。通過這些內(nèi)容,讀者一定會(huì)喜歡上Android 5.x的。因?yàn)樗粌H給我們帶來了新的API,還帶來了驚喜。
3.內(nèi)容詳實(shí),深入淺出
本書絕大多數(shù)章節(jié)都配有大量的習(xí)題,采用了先理論后實(shí)戰(zhàn)的方式進(jìn)行講解。讓讀者在理論和代碼編寫上都游刃有余。
4.精彩綜合實(shí)戰(zhàn)案例
為了讓讀者可以綜合運(yùn)用本書知識(shí),最后兩章提供了兩個(gè)綜合案例:超級手電筒和基于XMPP的IM客戶端。通過這兩個(gè)綜合案例,可以進(jìn)一步消化本書的知識(shí)和技巧。
源代碼下載:
本書源代碼可以通過微信公眾號(geekculture)下載,二維碼如右圖;或從中國水利水電出版社網(wǎng)站或萬水書苑上免費(fèi)下載,網(wǎng)址為:http://www.waterpub.com.cn/softdown/和http://www.hzxbc.cn。
1.1 Android的基本概念 1
1.1.1 Android簡介 2
1.1.2 Android的系統(tǒng)構(gòu)架 3
1.2 Android開發(fā)環(huán)境的搭建 4
1.2.1 開發(fā)Android程序需要些什么 4
1.2.2 安裝Android SDK 5
1.2.3 安裝Eclipse插件ADT 7
1.2.4 創(chuàng)建AVD 8
1.2.5 啟動(dòng)Android模擬器 10
1.2.6 讓Android模擬器飛(X86加速) 11
1.2.7 測試Android開發(fā)環(huán)境是否
安裝成功 12
1.3 Android SDK中的常用命令行工具 14
1.3.1 啟動(dòng)和關(guān)閉ADB服務(wù)(adb
start-server和adb kill-server) 14
1.3.2 查詢當(dāng)前模擬器/設(shè)備的實(shí)例
(adb devices) 14
1.3.3 安裝、卸載和運(yùn)行程序(adb install、
adb uninstall和am) 14
1.3.4 PC與模擬器或真機(jī)交換文件(adb
pull和adb push) 15
1.3.5 Shell命令 15
1.3.6 創(chuàng)建、刪除和瀏覽AVD設(shè)備
(android) 16
1.3.7 獲取Android版本對應(yīng)的ID 17
1.3.8 創(chuàng)建SD卡 17
1.4 Android的學(xué)習(xí)資源 17
1.5 Google Play 18
1.6 小結(jié) 18
第2章 第一個(gè)Android程序 19
2.1 編寫用于顯示當(dāng)前日期和時(shí)間的程序 19
2.1.1 新建一個(gè)Android工程 19
2.1.2 界面控件的布局 20
2.1.3 編寫實(shí)際代碼 20
2.2 調(diào)試程序 22
2.3 簽名和發(fā)布應(yīng)用程序 23
2.3.1 使用命令行方式進(jìn)行簽名 23
2.3.2 使用ADT插件方式進(jìn)行簽名 24
2.4 DDMS透視圖 25
2.5 小結(jié) 26
第3章 Android應(yīng)用程序架構(gòu) 27
3.1 Android應(yīng)用程序中的資源 27
3.1.1 資源存放在哪里 27
3.1.2 資源的種類 28
3.1.3 資源的基本使用方法 28
3.2 Android的應(yīng)用程序組件 29
3.2.1 活動(dòng)(Activity)組件 29
3.2.2 服務(wù)(Service)組件 30
3.2.3 廣播接收者(Broadcast receivers)
組件 30
3.2.4 內(nèi)容提供者(Content providers)
組件 31
3.3 AndroidManifest.xml文件的結(jié)構(gòu) 31
3.4 小結(jié) 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 定制控件—帶文本標(biāo)簽的
EditText 49
4.2.8 定制控件—可更換表盤的
指針時(shí)鐘 52
4.3 使用AlertDialog類創(chuàng)建對話框 57
4.3.1 AlertDialog類簡介 57
4.3.2 “確認(rèn)/取消”對話框 58
4.3.3 創(chuàng)建詢問是否刪除文件的
“確認(rèn)/取消”對話框 58
4.3.4 帶3個(gè)按鈕的對話框 60
4.3.5 創(chuàng)建“覆蓋/忽略/取消”對話框 60
4.3.6 簡單列表對話框 61
4.3.7 單選列表對話框 61
4.3.8 多選列表對話框 62
4.3.9 創(chuàng)建3種選擇省份的列表對話框 62
4.3.10 水平進(jìn)度對話框和圓形進(jìn)度
對話框 67
4.3.11 水平進(jìn)度對話框和圓形進(jìn)度
對話框演示 68
4.3.12 自定義對話框 71
4.3.13 創(chuàng)建登錄對話框 71
4.3.14 用Activity托管對話框 73
4.3.15 創(chuàng)建懸浮對話框和觸摸任何位置
都可以關(guān)閉的對話框 74
4.4 Toast和Notification 77
4.4.1 用Toast顯示提示信息框 77
4.4.2 Notification與狀態(tài)欄信息 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實(shí)現(xiàn)梅花效果
的布局 86
4.5.7 表格布局(TableLayout) 87
4.5.8 計(jì)算器按鈕的布局 88
4.5.9 絕對布局(AbsoluteLayout) 88
4.5.10 查看apk文件中的布局 89
4.6 小結(jié) 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 設(shè)置TextView控件的行間距 97
5.1.5 輸入文本的控件:EditText 98
5.1.6 在EditText中輸入特定的字符 99
5.1.7 按Enter鍵顯示EditText 100
5.1.8 自動(dòng)完成輸入內(nèi)容的控件:
AutoCompleteTextView 101
5.2 按鈕與復(fù)選框控件 102
5.2.1 普通按鈕控件:Button 103
5.2.2 異形(圓形、五角星、螺旋形和
箭頭)按鈕 103
5.2.3 圖像按鈕控件:ImageButton 105
5.2.4 同時(shí)顯示圖像和文字的按鈕 105
5.2.5 選項(xiàng)按鈕控件:RadioButton 106
5.2.6 開關(guān)狀態(tài)按鈕控件:ToggleButton 107
5.2.7 復(fù)選框控件:CheckBox 108
5.2.8 利用XML布局文件動(dòng)態(tài)創(chuàng)建
CheckBox 108
5.3 日期與時(shí)間控件 110
5.3.1 輸入日期的控件:DatePicker 110
5.3.2 輸入時(shí)間的控件:TimePicker 110
5.3.3 DatePicker、TimePicker與TextView
同步顯示日期和時(shí)間 111
5.3.4 顯示時(shí)鐘的控件:AnalogClock
和DigitalClock 112
5.4 進(jìn)度條控件 112
5.4.1 進(jìn)度條控件:ProgressBar 113
5.4.2 拖動(dòng)條控件:SeekBar 114
5.4.3 改變ProgressBar和SeekBar
的顏色 115
5.4.4 評分控件:RatingBar 116
5.5 其他重要控件 118
5.5.1 顯示圖像的控件:ImageView 118
5.5.2 可顯示圖像指定區(qū)域的ImageView
控件 119
5.5.3 動(dòng)態(tài)縮放和旋轉(zhuǎn)圖像 119
5.5.4 列表控件:ListView 121
5.5.5 可以單選和多選的ListView 123
5.5.6 動(dòng)態(tài)添加、刪除ListView列表項(xiàng) 125
5.5.7 改變ListView列表項(xiàng)選中狀態(tài)
的背景顏色 128
5.5.8 封裝ListView的Activity:
ListActivity 129
5.5.9 使用SimpleAdapter建立復(fù)雜的
列表項(xiàng) 130
5.5.10 給應(yīng)用程序評分 131
5.5.11 可展開的列表控件:
ExpandableListView 133
5.5.12 下拉列表控件:Spinner 136
5.5.13 垂直滾動(dòng)視圖控件:ScrollView 137
5.5.14 水平滾動(dòng)視圖控件:
HorizontalScrollView 138
5.5.15 可垂直和水平滾動(dòng)的視圖 138
5.5.16 網(wǎng)格視圖控件:GridView 139
5.5.17 可循環(huán)顯示和切換圖像的控件:
Gallery和ImageSwitcher 140
5.6 小結(jié) 142
第6章 View事件分發(fā)機(jī)制 143
6.1 事件分發(fā)的始作俑者 143
6.2 View類中的事件分發(fā)引擎 144
6.3 ViewGroup類的事件分發(fā)引擎 146
6.4 通過代碼驗(yàn)證View事件分發(fā)機(jī)制 148
6.4.1 實(shí)現(xiàn)一個(gè)派生自Button的類 148
6.4.2 實(shí)現(xiàn)布局 149
6.4.3 實(shí)現(xiàn)主窗口類 149
6.5 單擊事件(onClick)是如何被觸發(fā)的 152
6.6 Activity中的dispatchTouchEvent方法 154
6.7 小結(jié) 157
第7章 移動(dòng)存儲(chǔ)解決方案 158
7.1 最簡單的數(shù)據(jù)存儲(chǔ)方式:
SharedPreferences 158
7.1.1 使用SharedPreferences存取數(shù)據(jù) 158
7.1.2 數(shù)據(jù)的存儲(chǔ)位置和格式 160
7.1.3 存取復(fù)雜類型的數(shù)據(jù) 161
7.1.4 設(shè)置數(shù)據(jù)文件的訪問權(quán)限 163
7.1.5 可以保存設(shè)置的Activity:
PreferenceActivity 165
7.2 文件的存儲(chǔ) 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數(shù)據(jù)轉(zhuǎn)換成Java對象 175
7.3 SQLite數(shù)據(jù)庫 178
7.3.1 SQLite數(shù)據(jù)庫管理工具 178
7.3.2 創(chuàng)建數(shù)據(jù)庫和表 179
7.3.3 模糊查詢 181
7.3.4 分頁顯示記錄 181
7.3.5 事務(wù) 181
7.4 在Android中使用SQLite數(shù)據(jù)庫 182
7.4.1 SQLiteOpenHelper類與自動(dòng)
升級數(shù)據(jù)庫 182
7.4.2 SimpleCursorAdapter類與
數(shù)據(jù)綁定 183
7.4.3 帶照片的聯(lián)系人管理系統(tǒng) 185
7.4.4 將數(shù)據(jù)庫與應(yīng)用程序一起發(fā)布 188
7.4.5 英文詞典 189
7.5 持久化數(shù)據(jù)庫引擎(db4o) 192
7.5.1 什么是db4o 192
7.5.2 下載和安裝db4o 193
7.5.3 創(chuàng)建和打開數(shù)據(jù)庫 193
7.5.4 向數(shù)據(jù)庫中插入Java對象 194
7.5.5 從數(shù)據(jù)庫中查詢Java對象 195
7.5.6 高級數(shù)據(jù)查詢 195
7.5.7 更新數(shù)據(jù)庫中的Java對象 196
7.5.8 刪除數(shù)據(jù)庫中的Java對象 196
7.6 小結(jié) 196
第8章 App之間的通信 197
8.1 Intent與Activity 197
8.1.1 用Intent啟動(dòng)Activity,并在Activity
之間傳遞數(shù)據(jù) 197
8.1.2 調(diào)用其他應(yīng)用程序中的Activity(撥打
電話、瀏覽網(wǎng)頁、發(fā)E-mail等) 200
8.1.3 定制自己的Activity Action 204
8.1.4 將電子詞典的查詢功能共享
成一個(gè)Activity Action 205
8.2 接收和發(fā)送廣播 207
8.2.1 接收系統(tǒng)廣播 208
8.2.2 開機(jī)可自動(dòng)運(yùn)行的程序 208
8.2.3 收到短信了,該做點(diǎn)什么 209
8.2.4 顯示手機(jī)電池的當(dāng)前電量 211
8.2.5 在自己的應(yīng)用程序中發(fā)送廣播 212
8.2.6 接收聯(lián)系人系統(tǒng)中發(fā)送的添加
聯(lián)系人廣播 213
8.3 小結(jié) 214
第9章 服務(wù)(Service) 215
9.1 Service起步 215
9.1.1 Service的生命周期 215
9.1.2 綁定Activity和Service 218
9.2 系統(tǒng)服務(wù) 220
9.2.1 獲得系統(tǒng)服務(wù) 220
9.2.2 監(jiān)聽手機(jī)來電 221
9.2.3 來電黑名單 222
9.2.4 在模擬器上模擬重力感應(yīng) 223
9.2.5 手機(jī)翻轉(zhuǎn)靜音 225
9.3 時(shí)間服務(wù) 227
9.3.1 計(jì)時(shí)器:Chronometer 227
9.3.2 預(yù)約時(shí)間Handler 229
9.3.3 定時(shí)器Timer 230
9.3.4 在線程中更新GUI組件 232
9.3.5 全局定時(shí)器AlarmManager 234
9.3.6 定時(shí)更換壁紙 234
9.3.7 多次定時(shí)提醒 237
9.4 跨進(jìn)程訪問(AIDL服務(wù)) 239
9.4.1 什么是AIDL服務(wù) 240
9.4.2 建立AIDL服務(wù)的步驟 240
9.4.3 建立AIDL服務(wù) 240
9.4.4 傳遞復(fù)雜數(shù)據(jù)的AIDL服務(wù) 243
9.5 小結(jié) 248
第10章 網(wǎng)絡(luò)技術(shù) 249
10.1 可裝載網(wǎng)絡(luò)數(shù)據(jù)的控件 249
10.1.1 裝載網(wǎng)絡(luò)數(shù)據(jù)的原理 250
10.1.2 將網(wǎng)絡(luò)圖像裝載到ListView
控件中 250
10.1.3 Google圖像畫廊(Gallery) 253
10.2 WebView控件 257
10.2.1 用WebView控件瀏覽網(wǎng)頁 257
10.2.2 手機(jī)瀏覽器 258
10.2.3 用WebView控件裝載HTML代碼 259
10.2.4 將英文詞典整合到Web頁中
(JavaScript調(diào)用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 遠(yuǎn)程Apk安裝器 268
10.3.5 調(diào)用WebService 270
10.3.6 通過WebService查詢產(chǎn)品信息 271
10.4 Internet地址 275
10.4.1 Internet地址概述 275
10.4.2 創(chuàng)建InetAddress對象 276
10.4.3 判斷IP地址類型 278
10.5 客戶端Socket 279
10.5.1 Socket類基礎(chǔ) 280
10.5.2 多種連接服務(wù)端的方式 282
10.5.3 客戶端Socket的超時(shí) 283
10.5.4 Socket類的getter和setter方法 283
10.5.5 Socket的異常 289
10.6 服務(wù)端Socket 290
10.6.1 創(chuàng)建ServerSocket對象 290
10.6.2 設(shè)置請求隊(duì)列的長度 291
10.6.3 綁定IP地址 292
10.6.4 默認(rèn)構(gòu)造方法的使用 292
10.6.5 讀取和發(fā)送數(shù)據(jù) 293
10.6.6 關(guān)閉連接 294
10.7 小結(jié) 294
第11章 多媒體技術(shù) 295
11.1 圖形 295
11.1.1 圖形繪制基礎(chǔ) 296
11.1.2 繪制基本的圖形和文本 298
11.1.3 繪制位圖 301
11.1.4 用兩種方式繪制位圖 302
11.1.5 設(shè)置顏色的透明度 303
11.1.6 可任意改變透明度的位圖 303
11.1.7 旋轉(zhuǎn)圖像 304
11.1.8 旋轉(zhuǎn)動(dòng)畫 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 小結(jié) 327
第12章 Fragment 328
12.1 什么是Fragment 328
12.2 Fragment的設(shè)計(jì)原則 330
12.3 Fragment初步 331
12.3.1 Fragment的使用方法 331
12.3.2 實(shí)例:一個(gè)簡單的Fragment App 331
12.4 Fragment的生命周期 335
12.4.1 生命周期詳解 335
12.4.2 實(shí)例:Fragment生命周期演示 340
12.5 動(dòng)態(tài)創(chuàng)建Fragment 343
12.6 Fragment與Activity之間的交互 346
12.7 回退棧 348
12.8 小結(jié) 350
第13章 ActionBar 351
13.1 ActionBar簡介 351
13.2 ActionBar基礎(chǔ) 352
13.2.1 隱藏/顯示ActionBar 352
13.2.2 Action按鈕 354
13.3 應(yīng)用程序圖標(biāo)導(dǎo)航 357
13.4 收縮和展開Action View 358
13.5 導(dǎo)航標(biāo)簽 361
13.6 下拉導(dǎo)航列表 366
13.7 小結(jié) 368
第14章 Android 5.x新特性:質(zhì)感主題 369
14.1 使用不同的質(zhì)感主題 369
14.2 修改質(zhì)感主題的默認(rèn)屬性值 371
14.3 小結(jié) 372
第15章 Android 5.x新特性:陰影和
視圖裁剪 373
15.1 陰影 373
15.1.1 高度和Z軸的位置 373
15.1.2 帶有陰影的拖動(dòng)效果 376
15.2 視圖裁剪 377
15.3 小結(jié) 379
第16章 Android 5.x新特性:列表和
卡片控件 380
16.1 RecyclerView控件簡介 380
16.2 用RecyclerView控件實(shí)現(xiàn)垂直
列表效果 381
16.2.1 建立Model 381
16.2.2 定制列表項(xiàng)的分隔條 382
16.2.3 實(shí)現(xiàn)Adapter類 383
16.2.4 如何使用RecyclerView控件 385
16.2.5 用RecyclerView控件實(shí)現(xiàn)增加和
刪除列表項(xiàng)的效果 386
16.3 用RecyclerView控件實(shí)現(xiàn)畫廊的效果 389
16.3.1 為畫廊提供數(shù)據(jù) 390
16.3.2 自定義RecyclerView控件 391
16.3.3 讓RecyclerView控件橫屏顯示 392
16.4 CardView控件 393
16.4.1 出現(xiàn)R$styleable沒找到錯(cuò)誤的
原因 393
16.4.2 在布局文件中使用CardView 395
16.4.3 用Java代碼來控制CardView
控件 396
16.5 小結(jié) 398
第17章 Android 5.x新特性:Drawable
資源 399
17.1 著色 399
17.2 矢量Drawable資源 400
17.3 矢量動(dòng)畫 402
17.3.1 指針會(huì)動(dòng)的時(shí)鐘 402
17.3.2 笑臉表情 404
17.4 Ripple Drawable資源 406
17.5 小結(jié) 409
第18章 其他Android 5.x新特性 410
18.1 以Immersive模式隱藏及顯示狀態(tài)欄
和導(dǎo)航條 410
18.1.1 什么是Immersive模式 410
18.1.2 實(shí)現(xiàn)界面的布局 411
18.1.3 隱藏和顯示 411
18.1.4 監(jiān)聽隱藏和顯示狀態(tài) 412
18.2 新的通知中心 412
18.3 續(xù)航與安全性 413
18.4 更多的新功能 414
18.5 小結(jié) 414
第19章 2D動(dòng)畫 415
19.1 幀(Frame)動(dòng)畫 415
19.1.1 AnimationDrawable與幀動(dòng)畫 416
19.1.2 通過幀動(dòng)畫方式播放GIF動(dòng)畫 417
19.1.3 播放幀動(dòng)畫的子集 420
19.2 補(bǔ)間(Tween)動(dòng)畫 422
19.2.1 移動(dòng)補(bǔ)間動(dòng)畫 422
19.2.2 循環(huán)向右移動(dòng)的EditText與
上下彈跳的球 424
19.2.3 縮放補(bǔ)間動(dòng)畫 426
19.2.4 跳動(dòng)的心 427
19.2.5 旋轉(zhuǎn)補(bǔ)間動(dòng)畫 428
19.2.6 旋轉(zhuǎn)的星系 429
19.2.7 透明度補(bǔ)間動(dòng)畫 430
19.2.8 投擲炸彈 431
19.2.9 振動(dòng)效果 434
19.2.10 自定義動(dòng)畫渲染器(Interceptor) 434
19.2.11 以動(dòng)畫方式切換View的
控件ViewFlipper 436
19.3 小結(jié) 437
第20章 OpenGL ES編程 438
20.1 OpenGL ES簡介 438
20.2 在3D空間中繪圖 440
20.2.1 繪制3D圖形的第一步 440
20.2.2 定義頂點(diǎn) 442
20.2.3 繪制三角形 443
20.2.4 三角形合并法繪制矩形 445
20.2.5 頂點(diǎn)法繪制矩形 447
20.2.6 頂點(diǎn)的選取順序 448
20.2.7 索引法繪制矩形 449
20.2.8 基于OpenGL ES的動(dòng)畫原理 450
20.2.9 旋轉(zhuǎn)的矩形 450
20.3 視圖 452
20.3.1 有趣的比喻:照相機(jī)拍照 453
20.3.2 模型變換:立方體旋轉(zhuǎn) 454
20.3.3 用gluLookAt方法變換視圖 457
20.4 顏色 458
20.5 小結(jié) 460
第21章 媒體特效API 461
21.1 實(shí)現(xiàn)主界面布局 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 紀(jì)錄片(Documentary)特效 465
21.3.5 雙色調(diào)(Duotone)特效 465
21.3.6 魚眼(Fish Eye)特效 465
21.3.7 垂直翻轉(zhuǎn)特效 466
21.3.8 灰度特效 467
21.3.9 Lomoish特效 467
21.3.10 底片特效 467
21.3.11 色調(diào)特效 467
21.4 讓特效生效 468
21.5 小結(jié) 468
第22章 資源、國際化與自適應(yīng) 469
22.1 Android中的資源 470
22.1.1 Android怎么存儲(chǔ)資源 470
22.1.2 資源的種類 470
22.1.3 資源文件的命名 471
22.2 定義和使用資源 471
22.2.1 使用系統(tǒng)資源 471
22.2.2 字符串(String)資源 473
22.2.3 數(shù)組(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 動(dòng)畫(Animation)資源 483
22.2.10 菜單(Menu)資源 483
22.2.11 布局(Layout)資源 486
22.2.12 屬性(Attribute)資源 486
22.2.13 改進(jìn)可顯示圖標(biāo)的IconTextView
控件 488
22.2.14 XML資源 490
22.2.15 RAW資源 491
22.2.16 ASSETS資源 492
22.3 國際化和資源自適應(yīng) 492
22.3.1 對資源進(jìn)行國際化 492
22.3.2 Locale與國際化 494
22.3.3 常用的資源配置 494
22.4 小結(jié) 495
第23章 訪問Android手機(jī)的硬件 496
23.1 在手機(jī)上測試硬件 496
23.1.1 安裝Android USB驅(qū)動(dòng) 497
23.1.2 在手機(jī)上測試程序 498
23.1.3 在手機(jī)上調(diào)試程序 499
23.2 錄音 500
23.3 控制手機(jī)攝像頭(拍照) 500
23.3.1 調(diào)用系統(tǒng)的拍照功能 501
23.3.2 實(shí)現(xiàn)自己的拍照Activity 503
23.4 傳感器在手機(jī)中的應(yīng)用 507
23.4.1 在應(yīng)用程序中使用傳感器 507
23.4.2 電子羅盤 509
23.4.3 計(jì)步器 510
23.5 GPS與地圖定位 511
23.5.1 Google地圖 511
23.5.2 用GPS定位到當(dāng)前位置 515
23.6 WIFI 516
23.7 小結(jié) 519
第24章 NDK技術(shù) 520
24.1 Android NDK簡介 520
24.2 安裝、配置和測試NDK開發(fā)環(huán)境 521
24.2.1 系統(tǒng)和軟件要求 521
24.2.2 下載和安裝Android NDK 522
24.2.3 下載和安裝Cygwin 522
24.2.4 配置Android NDK的開發(fā)環(huán)境 525
24.2.5 編譯和運(yùn)行NDK自帶的例子 526
24.3 Android NDK開發(fā) 528
24.3.1 JNI接口設(shè)計(jì) 528
24.3.2 編寫Android NDK程序的步驟 529
24.3.3 將文件中的小寫字母轉(zhuǎn)換成大寫
字母(NDK版本) 529
24.3.4 配置Android.mk文件 532
24.3.5 Android NDK定義的變量 533
24.3.6 Android NDK定義的函數(shù) 533
24.3.7 描述模塊的變量 534
24.3.8 配置Application.mk文件 535
24.4 小結(jié) 536
第25章 藍(lán)牙技術(shù) 537
25.1 藍(lán)牙簡介 537
25.2 打開和關(guān)閉藍(lán)牙設(shè)備 538
25.3 搜索藍(lán)牙設(shè)備 539
25.4 藍(lán)牙數(shù)據(jù)傳輸 541
25.5 藍(lán)牙通信一定需要UUID嗎 544
25.6 小結(jié) 545
第26章 有趣的Android技術(shù) 546
26.1 手勢(Gesture) 546
26.1.1 創(chuàng)建手勢文件 546
26.1.2 通過手勢輸入字符串 547
26.1.3 通過手勢調(diào)用程序 549
26.1.4 編寫自己的手勢創(chuàng)建器 550
26.2 讓手機(jī)說話(TTS) 551
26.3 動(dòng)態(tài)壁紙 552
26.4 小結(jié) 559
第27章 Android App性能調(diào)優(yōu) 560
27.1 刷新頻率與丟幀 560
27.2 開發(fā)者選項(xiàng)與查看GPU負(fù)載 561
27.3 GPU渲染時(shí)間與性能調(diào)優(yōu) 564
27.4 Overdraw與區(qū)域繪制 565
27.5 內(nèi)存抖動(dòng)與性能 566
27.6 小結(jié) 568
第28章 內(nèi)存泄露檢測 569
28.1 造成內(nèi)存泄露的原因 569
28.1.1 非靜態(tài)內(nèi)嵌類 569
28.1.2 Handler要用靜態(tài)變量或弱引用 570
28.1.3 線程引發(fā)的內(nèi)存泄露 571
28.1.4 其他可能會(huì)造成內(nèi)存泄露的情況 572
28.1.5 弱引用(WeakReference)和軟引
用(SoftReference) 572
28.2 內(nèi)存泄露檢測工具:Eclipse MAT 573
28.3 小結(jié) 576
第29章 項(xiàng)目實(shí)戰(zhàn):超級手電筒 577
29.1 手電筒APP簡介 577
29.2 手電筒的架構(gòu) 578
29.3 手電筒照明 579
29.3.1 手電筒的布局 579
29.3.2 通過代碼調(diào)整控制區(qū)域位置 580
29.3.3 打開和關(guān)閉閃光燈 580
29.4 警告燈 581
29.5 發(fā)送莫爾斯密碼 583
29.6 其他功能的實(shí)現(xiàn) 585
29.7 小結(jié) 585
第30章 項(xiàng)目實(shí)戰(zhàn):基于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 發(fā)送聊天信息 594
30.8 接收聊天信息 595
30.9 其他功能 596
30.10 小結(jié) 596
- 零基礎(chǔ)玩轉(zhuǎn)國產(chǎn)大模型DeepSeek [徐永冰 張帥 編著]
- 網(wǎng)絡(luò)工程師5天修煉(適配第6版考綱) [主編 朱小平 施游]
- 信息系統(tǒng)項(xiàng)目管理師考試32小時(shí)通關(guān)(適用第4版考綱) [薛大龍]
- 信息系統(tǒng)管理工程師考試32小時(shí)通關(guān)(適配第2版考綱) [薛大龍 劉偉]
- 土木工程材料檢測實(shí)訓(xùn) [洪曉江 達(dá)則曉麗 錢波]
- 科技信息檢索與論文寫作實(shí)用教程 [李振華]
- 傳統(tǒng)山水畫論解讀與實(shí)踐 [陳鈉 著]
- Python數(shù)據(jù)庫編程 [主編 殷樹友 邢 翀]
- 計(jì)算機(jī)基礎(chǔ)實(shí)訓(xùn)指導(dǎo) [主編 袁春萍 朱妮]
- 嵌入式人工智能技術(shù)應(yīng)用(數(shù)字教材) [主編 胡娜 楊國勇 晏廷榮]
- Vienna整流器技術(shù) [桂存兵 著]
- 變頻器與伺服應(yīng)用 [陳剛 葉云飛]
- 物聯(lián)網(wǎng)工程設(shè)計(jì)與實(shí)踐 [湯琳 李敏]
- 爐邊夜話——深入淺出話AI [汪建 著]
- 電商運(yùn)營與管理 [鐘肖英 陳瀟]
- Java面向?qū)ο蟪绦蛟O(shè)計(jì) [主編 姜春磊 陳虹潔]
- 信息技術(shù)基礎(chǔ)(Windows 10+WPS Office)(微課版) [主編 石利平 田輝平 謝盛嘉]
- 人工智能應(yīng)用 [主編 陳 萍 劉培培 陳孟軍]
- 大學(xué)生職業(yè)發(fā)展與就業(yè)指導(dǎo) [主編 劉志堅(jiān)]
- 高級辦公應(yīng)用項(xiàng)目教程 [主編 屈晶 趙成麗]
- 微信小程序開發(fā)項(xiàng)目實(shí)戰(zhàn)(微課版) [主編 黃龍泉 郭峰 朱倩]
- 企業(yè)檔案工作實(shí)戰(zhàn)寶典百問百答 [華俊 盧秀英 邵甜甜 著]
- 計(jì)算機(jī)網(wǎng)絡(luò)原理及應(yīng)用 [主編 唐繼勇 葉坤 孫夢娜]
- 大學(xué)生創(chuàng)業(yè)基礎(chǔ) [主編 王麗莉 王 楊]
- 船舶輔機(jī) [主編 王連海 于洋 姜淑翠]
- 大學(xué)生就業(yè)指導(dǎo) [主編 王麗莉 董宴廷]
- 系統(tǒng)架構(gòu)設(shè)計(jì)師章節(jié)習(xí)題與考點(diǎn)特訓(xùn) [主編 薛大龍 鄒月平]
- 高校學(xué)生工作探索與實(shí)踐 [郭亮 著]
- 大學(xué)生情商管理 [方雄 著]
- 2023年長沙市會(huì)展業(yè)發(fā)展報(bào)告 [主編 周棟良]
- 生活經(jīng)管more>>
- 計(jì)算機(jī)基礎(chǔ)實(shí)訓(xùn)指導(dǎo)
- 用英語介紹中國經(jīng)典小故事
- 新概念英語單詞循環(huán)速記1:14天刻意練
- 新能源場站繼電保護(hù)傳動(dòng)作業(yè)指導(dǎo)書
- 高職院校“德技并修·三育協(xié)同”的育人
- 網(wǎng)絡(luò)規(guī)劃設(shè)計(jì)師真題及模考卷精析(適用
- 涼山脫貧地區(qū)鄉(xiāng)村治理研究
- 中國—東盟競技體育文化共同體研究
- 數(shù)值分析
- 用英語介紹中國(四六級版)
- 用英語介紹中國(第二版)
- 基于AI的Java技術(shù)項(xiàng)目實(shí)戰(zhàn)
- 信息處理技術(shù)員真題及模考卷精析(適用
- 系統(tǒng)集成項(xiàng)目管理工程師案例分析一本通
- 信息安全工程師考前沖刺100題(第二版
- 信息系統(tǒng)項(xiàng)目管理師考前沖刺100題(配