首 頁
手機版

android編程權威指南第二版 pdf掃描版

android編程權威指南第二版是一本完全面向實戰(zhàn)的Android編程指南,由[美]Bill Phillips、Chris Stewart、Brian Hardy、Kristin Marsicano編寫,王明發(fā)翻譯,人民出版社出版。全書全面覆蓋了Android開發(fā)的所有知識點,手把手教你開發(fā)Android應用,8個Android應用開發(fā)實戰(zhàn)項目,傳授直接的開發(fā)經驗。android編程權威指南第2版以實戰(zhàn)為主,在你制作一個又一個的Android應用中逐步學習了解各種理論知識及技術知識,又淺到深,最終學會Android應用開發(fā)和制作。因為本書全面講究實戰(zhàn),所以只建議能夠熟練使用java語言的人下載閱讀使用。

基本介紹

《android編程權威指南第2版》主要以其Android訓練營教學課程為基礎,融合了幾位作者多年的心得體會,是一本完全面向實戰(zhàn)的Android編程指南。全書共34章,詳細介紹了8個Android 應用。通過這些精心設計的應用,讀者可掌握很多重要的理論知識和開發(fā)技巧,獲得前沿的開發(fā)經驗。如果你熟悉Java語言,或者了解面向對象編程,那就立刻開始Android編程之旅吧!

作者簡介

一、Bill Phillips

Big Nerd Ranch骨灰級講師。他在Big Nerd Ranch與人合作開發(fā)了廣受好評的Android訓練營培訓課程,并為之編寫教材(包括本書第1版)。此后,Bill一直堅持撰寫博客、閱讀各類文學作品、作曲奏樂以及著書。

二、Chris Stewart

Big Nerd Ranch骨灰級Android訓練營講師、Android團隊主管。他致力于不斷取得進步,精進技能。不坐在電腦前時,Chris喜歡遠足和旅行。

三、Brian Hardy

Big Nerd Ranch的iOS和Cocoa工程主管。他是Android訓練營的首批講師,與許多客戶合作開發(fā)了眾多Android和iOS移動應用。除同開發(fā)團隊構建更出色的軟件和研究自己新的項目之外,Brian喜歡陪伴朋友與家人——通常是在燒烤架旁。

四、Kristin Marsicano

Big Nerd Ranch講師、Android開發(fā)者。她喜歡與他人分享知識,對學習、軟件開發(fā)以及二者的交集充滿熱情。在授課和開發(fā)應用之余,Kristin會為家人烹調美食、練習瑜伽或學習一些新知識。

五、王明發(fā)

畢業(yè)于華東理工大學。軟件開發(fā)及項目管理者,擁有近十年的軟件開發(fā)及項目管理經驗;譯者,另譯有《寫給大家看的項目管理書(第3版)》。

android編程權威指南第二版章節(jié)目錄

第1章 Android開發(fā)初體驗  1
1.1 應用開發(fā)基礎 1
1.2 創(chuàng)建Android項目 2
1.3 Android Studio使用導航 6
1.4 用戶界面設計 7
1.4.1 視圖層級結構 10
1.4.2 組件屬性 11
1.4.3 創(chuàng)建字符串資源 12
1.4.4 預覽界面布局 12
1.5 從布局XML到視圖對象 13
1.6 組件的實際應用 17
1.6.1 引用組件 18
1.6.2 設置監(jiān)聽器 18
1.7 創(chuàng)建提示消息 20
1.8 使用模擬器運行應用 23
1.9 深入學習:Android編譯過程 25
第2章 Android與MVC設計模式 29
2.1 創(chuàng)建新類 29
2.2 Android與MVC設計模式 32
2.3 更新視圖層 34
2.4 更新控制層 36
2.5 在設備上運行應用 40
2.5.1 連接設備 40
2.5.2 配置設備用于應用開發(fā) 41
2.6 添加圖標資源 42
2.6.1 向項目中添加資源 43
2.6.2 在XML文件中引用資源 45
2.7 關于挑戰(zhàn)練習 46
2.8 挑戰(zhàn)練習:為TextView添加監(jiān)聽器 46
2.9 挑戰(zhàn)練習:添加后退按鈕 46
2.10 挑戰(zhàn)練習:從按鈕到圖標按鈕 47
第3章 Activity的生命周期 49
3.1 日志跟蹤理解Activity生命周期 50
3.1.1 輸出日志信息 50
3.1.2 使用LogCat 52
3.2 設備旋轉與Activity生命周期 55
3.3 設備旋轉前保存數據 59
3.4 再探Activity生命周期 61
3.5 深入學習:測試onSaveInstanceState(Bundle)方法 62
3.6 深入學習:日志記錄的級別與方法 64
第4章 Android應用的調試 65
4.1 異常與棧跟蹤 66
4.1.1 診斷應用異常 67
4.1.2 記錄棧跟蹤日志 68
4.1.3 設置斷點 69
4.1.4 使用異常斷點 72
4.2 Android特有的調試工具 73
4.2.1 使用Android Lint 73
4.2.2 R 類的問題 75
第5章 第二個activity 76
5.1 創(chuàng)建第二個activity 77
5.1.1 創(chuàng)建新的activity 78
5.1.2 創(chuàng)建新的activity 子類 81
5.1.3 在manifest配置文件中聲明activity 81
5.1.4 為QuizActivity添加Cheat按鈕 82
5.2 啟動activity 84
5.3 activity間的數據傳遞 86
5.3.1 使用intent extra 86
5.3.2 從子activity獲取返回結果 89
5.4 activity的使用與管理 94
5.5 挑戰(zhàn)練習 97
第6章 Android SDK版本與兼容 98
6.1 Android SDK版本 98
6.2 Android編程與兼容性問題 99
6.2.1 比較合理的版本 99
6.2.2 SDK最低版本 101
6.2.3 SDK目標版本 101
6.2.4 SDK編譯版本 101
6.2.5 安全添加新版本API中的代碼 101
6.3 使用Android開發(fā)者文檔 104
6.4 挑戰(zhàn)練習:報告編譯版本 106
第7章 UI fragment與fragment管理器 107
7.1 UI 設計的靈活性需求 108
7.2 fragment的引入 108
7.3 著手開發(fā)CriminalIntent 109
7.3.1 創(chuàng)建新項目 112
7.3.2 fragment與支持庫 113
7.3.3 在Android Studio中增加依賴關系 114
7.3.4 創(chuàng)建Crime類 117
7.4 托管UI fragment 118
7.4.1 fragment的生命周期 118
7.4.2 托管的兩種方式 119
7.4.3 定義容器視圖 119
7.5 創(chuàng)建UI fragment 120
7.5.1 定義CrimeFragment的布局 121
7.5.2 創(chuàng)建CrimeFragment類 122
7.6 添加UI fragment到FragmentManager 125
7.6.1 fragment事務 126
7.6.2 FragmentManager與fragment生命周期 129
7.7 采用fragment的應用架構 130
7.8 深入學習:為什么應優(yōu)先使用支持庫版fragment 131
7.9 深入學習:使用操作系統內置版fragment 131
第8章 使用布局與組件創(chuàng)建用戶界面 132
8.2 更新布局 133
8.3 生成并使用組件 135
8.4 深入探討XML布局屬性 136
8.4.1 樣式、主題及主題屬性 136
8.4.2 dp、sp以及屏幕像素密度 137
8.4.3 Android開發(fā)設計原則 138
8.4.4 布局參數 139
8.4.5 邊距與內邊距 139
8.5 使用圖形布局工具 140
8.5.1 創(chuàng)建水平模式布局 141
8.5.2 添加新組件 142
8.5.3 在屬性視圖中編輯組件屬性 143
8.5.4 在框架視圖中重新組織組件 144
8.5.5 更新子組件的布局參數 145
8.5.6 android:layout_weight屬性的工作原理 146
8.5.7 圖形布局工具使用總結 147
8.5.8 組件ID與多種布局 148
8.6 挑戰(zhàn)練習:日期格式化 148
第9章 使用RecyclerView顯示列表 150
9.2 使用抽象activity托管fragment 153
9.2.1 通用的fragment托管布局 153
9.2.2 抽象activity類 154
9.3 RecyclerView、Adapter和ViewHolder 158
9.3.1 ViewHolder和Adapter 159
9.3.2 使用RecyclerView 161
9.3.3 實現Adapter和ViewHolder 166
9.4.1 創(chuàng)建列表項布局 166
9.4.2 使用定制列表項視圖 168
9.5 響應點擊 170
9.6 深入學習:ListView和GridView 171
9.7 深入學習:單例 171
第10章 使用fragment argument 173
10.1 從fragment中啟動activity 173
10.1.1 附加extra信息 174
10.1.2 獲取extra信息 175
10.1.3 使用Crime數據更新CrimeFragment視圖 176
10.1.4 直接獲取extra信息的缺點 177
10.2 fragment argument 177
10.2.1 附加argument給fragment 178
10.2.2 獲取argument 179
10.3 刷新顯示列表項 180
10.4 通過fragment獲取返回結果 182
10.5 挑戰(zhàn)練習:實現高效的RecyclerView 刷新 183
10.6 深入學習:為何要用fragment argument 183
第11章 使用ViewPager 185
11.1 創(chuàng)建CrimePagerActivity 186
11.1.1 ViewPager與PagerAdapter 187
11.1.2 整合并配置使用CrimePagerActivity 188
11.2 FragmentStatePagerAdapter與FragmentPagerAdapter 190
11.3 深入學習:ViewPager的工作原理 192
11.4 深入學習:以代碼的方式創(chuàng)建布局 193
第12章 對話框 194
12.1 使用AppCompat兼容庫 195
12.2 創(chuàng)建DialogFragment 196
12.2.1 顯示DialogFragment 198
12.2.2 設置對話框的顯示內容 199
12.3 fragment間的數據傳遞 202
12.3.1 傳遞數據給DatePickerFragment 203
12.3.2 返回數據給CrimeFragment 204
12.4 挑戰(zhàn)練習:更多對話框 211
12.5 挑戰(zhàn)練習:按設備類型展現DialogFragment 212
第13章 工具欄 213
13.1 AppCompat 213
13.2 工具欄菜單 216
13.2.1 在XML文件中定義菜單…… 217
13.2.2 創(chuàng)建菜單 221
13.2.3 響應菜單項選擇 223
13.3 實現層級式導航 225
13.4 可選菜單項 226
13.4.1 切換菜單項標題 227
13.4.2 “還有個問題” 229
13.5 深入學習:工具欄與操作欄 231
13.6 挑戰(zhàn)練習:刪除crime記錄 231
13.7 挑戰(zhàn)練習:優(yōu)化字符串資源顯示 231
13.8 挑戰(zhàn)練習:用于RecyclerView的空視圖 232
第14章 SQLite數據庫 233
14.1 定義Schema 233
14.2 創(chuàng)建初始數據庫 234
14.3 修改CrimeLab類 238
14.4 寫入數據庫 239
14.4.1 使用ContentValues 239
14.4.2 插入和更新記錄 240
14.5 讀取數據庫 242
14.5.1 使用CursorWrapper 243
14.5.2 創(chuàng)建模型層對象 244
14.6 深入學習:數據庫高級主題介紹 247
14.7 深入學習:應用上下文 248
14.8 挑戰(zhàn)練習:刪除Crime記錄 248
第15章 隱式intent 249
15.1 添加按鈕組件 250
15.2 添加嫌疑人信息至模型層 252
15.3 使用格式化字符串 254
15.4 使用隱式intent 255
15.4.1 隱式intent的組成 255
15.4.2 發(fā)送消息 256
15.4.3 獲取聯系人信息 259
15.4.4 檢查可響應任務的activity 263
15.5 挑戰(zhàn)練習:ShareCompat 265
15.6 挑戰(zhàn)練習:又一個隱式intent 265
第16章 使用intent拍照 266
16.1 布置照片 266
16.2 外部存儲 269
16.3 使用相機intent 272
16.3.1 外部存儲使用權限 272
16.3.2 觸發(fā)拍照 273
16.4 縮放和顯示位圖 274
16.5 功能聲明 277
16.6 深入學習:使用include標簽 278
16.7 挑戰(zhàn)練習:優(yōu)化照片顯示 278
16.8 挑戰(zhàn)練習:優(yōu)化縮略圖加載 279
第17章 Master-Detail用戶界面 280
17.1 增加布局靈活性 281
17.1.1 修改SingleFragmentActivity 282
17.1.2 創(chuàng)建包含兩個fragment容器的布局 283
17.1.3 使用別名資源 284
17.1.4 創(chuàng)建平板設備專用可選資源 285
17.2 Activity:fragment的托管者 286
17.3 深入學習:設備屏幕尺寸的確定 295
第18章 Assets 297
18.1 為何使用assets 297
18.2 創(chuàng)建BeatBox 應用 298
18.3 導入assets 301
18.4 處理assets 303
18.5 使用Assets 305
18.6 訪問Assets 308
18.7 深入學習:什么是non-assets 308
第19章 使用SoundPool播放音頻 309
19.1 創(chuàng)建SoundPool 309
19.2 加載音頻文件 310
19.3 播放音頻 311
19.4 釋放音頻 313
19.5 設備旋轉和對象保存 314
19.5.1 保留fragment 315
19.5.2 旋轉和已保留fragment 316
19.6 深入學習:是否要保留 318
19.7 深入學習:設備旋轉處理再探 318
第20章 樣式與主題 321
20.1 顏色資源 321
20.2 樣式 322
20.3 主題 324
20.4 添加主題顏色 327
20.5 覆蓋主題屬性 328
20.6 修改按鈕屬性 332
20.7 深入學習:樣式繼承拾遺 334
20.8 深入學習:引用主題屬性 335
20.9 挑戰(zhàn)練習:創(chuàng)建多版本主題 335
第21章 XML drawable 336
21.1 統一按鈕樣式 337
21.2 shape drawable 338
21.3 state list drawable 340
21.4 layer list drawable 341
21.5 深入學習:為什么要用XML drawable 342
21.6 深入學習:使用9-patch圖像 343
21.7 深入學習:使用Mipmap圖像 347
第22章 深入學習intent和任務 348
22.1 創(chuàng)建NerdLauncher項目 348
22.2 解析隱式intent 351
22.3 在運行時創(chuàng)建顯式intent 355
22.4 任務與后退?!?57
22.4.1 在任務間切換 357
22.4.2 啟動新任務 358
22.5 使用NerdLauncher應用作為設備主屏幕 361
22.6 挑戰(zhàn)練習:應用圖標 362
22.7 深入學習:進程與任務 362
22.8 深入學習:并發(fā)文檔 364
第23章 HTTP與后臺任務 367
23.1 創(chuàng)建PhotoGallery應用 368
23.2 網絡連接基本 371
23.3 使用AsyncTask在后臺線程上運行代碼 373
23.4 線程與主線程 374
23.5 從Flickr獲取JSON數據 376
23.6 從AsyncTask回到主線程 383
23.7 清理AsyncTask 386
23.8 深入學習:AsyncTask再探 387
23.9 深入學習:AsyncTask的替代方案 388
23.10 挑戰(zhàn)練習:Gson 388
23.11 挑戰(zhàn)練習:分頁 388
23.12 挑戰(zhàn)練習:動態(tài)調整網格列 389
第24章 Looper、Handler和HandlerThread 390
24.1 配置RecyclerView以顯示圖片 390
24.2 批量下載縮略圖 393
24.3 與主線程通信 393
24.4 創(chuàng)建并啟動后臺線程 394
24.5 Message與message handler 396
24.5.1 消息的剖析 397
24.5.2 Handler的剖析 397
24.5.3 使用handler 398
24.5.4 傳遞handler 402
24.6 深入學習:AsyncTask與線程 407
24.7 挑戰(zhàn)練習:預加載以及緩存 407
24.8 深入學習:解決圖片下載問題 408
第25章 搜索 409
25.1 搜索Flickr 網站 410
25.2 使用SearchView 414
25.3 使用shared preferences實現輕量級數據存儲 419
25.4 優(yōu)化應用 422
25.5 挑戰(zhàn)練習:深度優(yōu)化PhotoGallery應用 423
第26章 后臺服務 424
26.1 創(chuàng)建IntentService 424
26.2 服務的作用 427
26.3 查找最新返回結果 428
26.4 使用AlarmManager延遲運行服務 430
26.4.1 合理控制服務啟動的頻度 432
26.4.2 PendingIntent 433
26.4.3 使用PendingIntent管理定時器 434
26.5 控制定時器 434
26.6 通知信息 437
26.7 挑戰(zhàn)練習:可穿戴設備上的通知 439
26.8 深入學習:服務細節(jié)內容 440
26.8.1 服務的能與不能 440
26.8.2 服務的生命周期 440
26.8.3 non-sticky服務 440
26.8.4 sticky 服務 441
26.8.5 綁定服務 441
26.9 深入學習:JobScheduler和JobService 442
26.10 深入學習:Sync Adapter 445
26.11 挑戰(zhàn)練習:在Lollipop設備上使用JobService 446
第27 章 broadcast intent 447
27.1 一般intent 和broadcast intent 447
27.2 接收系統broadcast:重啟后喚醒 448
27.2.1 standalone receiver 448
27.2.2 使用receiver 450
27.3 過濾前臺通知消息 452
27.3.1 發(fā)送broadcast intent 452
27.3.2 動態(tài)broadcast receiver 453
27.3.3 使用私有權限 455
27.3.4 使用有序broadcast 458
27.4 receiver與長時運行任務 462
27.5 深入學習:本地事件 462
27.5.1 使用EventBus 463
27.5.2 使用Rxjava 463
27.6 深入學習:檢測fragment的狀態(tài) 464
第28章 網頁瀏覽 466
28.1 最后一段Flickr數據 466
28.2 簡單方式:隱式intent 469
28.3 較難方式:使用WebView 470
28.4 處理WebView的設備旋轉問題 476
28.5 深入學習:注入JavaScript對象 477
28.6 深入學習:KitKat的WebView 478
28.7 挑戰(zhàn)練習:使用后退鍵瀏覽歷史網頁 478
28.8 挑戰(zhàn)練習:非HTTP鏈接支持 479
第29章 定制視圖與觸摸事件 480
29.1 創(chuàng)建DragAndDraw項目 480
29.1.1 創(chuàng)建DragAndDrawActivity 481
29.1.2 創(chuàng)建DragAndDrawFragment 481
29.2 創(chuàng)建定制視圖 482
29.3 處理觸摸事件 484
29.4 onDraw(…)方法內的圖形繪制 488
29.5 挑戰(zhàn)練習:設備旋轉問題 490
29.6 挑戰(zhàn)練習:旋轉矩形框 490
第30章 屬性動畫 492
30.1 建立場景 492
30.2 簡單屬性動畫 495
30.2.1 視圖屬性轉換 498
30.2.2 使用不同的interpolator 500
30.2.3 色彩漸變 500
30.3 播放多個動畫 502
30.4 深入學習:其他動畫API 504
30.4.1 傳統動畫工具 504
30.4.2 轉場 504
30.5 挑戰(zhàn)練習 504
第31章 地理位置和Play服務 505
31.1 地理位置和定位類庫 505
31.2 創(chuàng)建Locatr項目 506
31.3 Play 服務和模擬器 507
31.4 創(chuàng)建Locatr應用 510
31.5 配置Google Play服務 512
31.6 使用Google Play服務 514
31.7 基于地理位置的Flickr搜索 516
31.8 獲取定位數據 517
31.9 尋找并顯示圖片 519
31.10 挑戰(zhàn)練習:進度指示器 521
第32章 使用地圖 522
32.1 導入Play地圖服務庫 522
32.2 Android上的地圖服務 522
32.3 地圖API設置 523
32.4 創(chuàng)建地圖 525
32.5 獲取更多地理位置數據 526
32.6 使用地圖 529
32.7 深入學習:團隊開發(fā)和API key 534
第33章 material design 536
33.1 material surface 536
33.1.1 elevation和Z值 538
33.1.2 state list animator 539
33.2 動畫工具 540
33.2.1 circular reveal 541
33.2.2 shared element transition 542
33.3 新的視圖組件 545
33.3.1 card 545
33.3.2 floating action button 547
33.3.3 snackbar 548
33.4 深入學習material design 549
第34 章 編后語 550
34.1 終極挑戰(zhàn) 550
34.2 關于我們 551
34.3 致謝 551

使用說明

1、下載并解壓,得出pdf文件

2、如果打不開本文件,請務必下載pdf閱讀器

3、安裝后,在打開解壓得出的pdf文件

4、雙擊進行閱讀

收起介紹展開介紹
  • 下載地址
android編程權威指南第二版 pdf掃描版

有問題? 點此報錯

發(fā)表評論

0條評論