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、雙擊進行閱讀
發(fā)表評論
0條評論軟件排行榜
熱門推薦
- 得間免費小說電腦版 v5.3.0.372.58M / 簡體中文
- cnki全球學術快報電腦版 v1.0.1135.99M / 簡體中文
- 南方Plus電腦版 v11.9.026.47M / 簡體中文
- 網易新聞電腦版 v113.197.68M / 簡體中文
- 開源閱讀電腦版 v3.2517.96M / 簡體中文
- PHP語言精粹電子書 pdf掃描版25.72M / 簡體中文
- linux常用命令大全 chm版1.48M / 簡體中文
- docker入門實戰(zhàn) pdf完整版1.38M / 簡體中文
- Scala程序設計第二版 pdf高清完整版15.83M / 簡體中文
- C++黑客編程揭秘與防范第2版 冀云pdf掃描版54.58M / 簡體中文