Android編程權(quán)威指南-(第2版) 版權(quán)信息
- ISBN:9787115422460
- 條形碼:9787115422460 ; 978-7-115-42246-0
- 裝幀:暫無
- 冊數(shù):暫無
- 重量:暫無
- 所屬分類:>
Android編程權(quán)威指南-(第2版) 本書特色
big nerd ranch是美國一家專業(yè)的移動開發(fā)技術(shù)培訓(xùn)機構(gòu)。本書主要以其android訓(xùn)練營教學(xué)課程為基礎(chǔ),融合了幾位作者多年的心得體會,是一本完全面向?qū)崙?zhàn)的android編程指南。全書共34章,詳細(xì)介紹了8個android 應(yīng)用。通過這些精心設(shè)計的應(yīng)用,讀者可掌握很多重要的理論知識和開發(fā)技巧,獲得前沿的開發(fā)經(jīng)驗。如果你熟悉java語言,或者了解面向?qū)ο缶幊,那就立刻開始android編程之旅吧!
Android編程權(quán)威指南-(第2版) 內(nèi)容簡介
權(quán)威——源自大名鼎鼎的big
nerd ranch訓(xùn)練營培訓(xùn)講義,該訓(xùn)練營已經(jīng)為微軟、谷歌、facebook等行業(yè)巨頭培養(yǎng)了眾多專業(yè)人才。
全面——涵蓋android開發(fā)所有**理論概念和技術(shù)知識點。
實用——8個android應(yīng)用開發(fā)實戰(zhàn)項目,傳授*直接的開發(fā)經(jīng)驗。
易懂——以循序漸進的方式精心編排章節(jié),一步一步寫出android應(yīng)用。
Android編程權(quán)威指南-(第2版) 目錄
第1章 android開發(fā)初體驗 11.1 應(yīng)用開發(fā)基礎(chǔ) 11.2 創(chuàng)建android項目 21.3 android studio使用導(dǎo)航 61.4 用戶界面設(shè)計 71.4.1 視圖層級結(jié)構(gòu) 101.4.2 組件屬性 111.4.3 創(chuàng)建字符串資源 121.4.4 預(yù)覽界面布局 121.5 從布局xml到視圖對象 131.6 組件的實際應(yīng)用 171.6.1 引用組件 181.6.2 設(shè)置監(jiān)聽器 181.7 創(chuàng)建提示消息 201.8 使用模擬器運行應(yīng)用 231.9 深入學(xué)習(xí):android編譯過程 25第2章 android與mvc設(shè)計模式 292.1 創(chuàng)建新類 292.2 android與mvc設(shè)計模式 322.3 更新視圖層 342.4 更新控制層 362.5 在設(shè)備上運行應(yīng)用 402.5.1 連接設(shè)備 402.5.2 配置設(shè)備用于應(yīng)用開發(fā) 412.6 添加圖標(biāo)資源 422.6.1 向項目中添加資源 432.6.2 在xml文件中引用資源 452.7 關(guān)于挑戰(zhàn)練習(xí) 462.8 挑戰(zhàn)練習(xí):為textview添加監(jiān)聽器 462.9 挑戰(zhàn)練習(xí):添加后退按鈕 462.10 挑戰(zhàn)練習(xí):從按鈕到圖標(biāo)按鈕 47第3章 activity的生命周期 493.1 日志跟蹤理解activity生命周期 503.1.1 輸出日志信息 503.1.2 使用logcat 523.2 設(shè)備旋轉(zhuǎn)與activity生命周期 553.3 設(shè)備旋轉(zhuǎn)前保存數(shù)據(jù) 593.4 再探activity生命周期 613.5 深入學(xué)習(xí):測試onsaveinstance-state(bundle)方法 623.6 深入學(xué)習(xí):日志記錄的級別與方法 64第4章 android應(yīng)用的調(diào)試 654.1 異常與棧跟蹤 664.1.1 診斷應(yīng)用異! 674.1.2 記錄棧跟蹤日志 684.1.3 設(shè)置斷點 694.1.4 使用異常斷點 724.2 android特有的調(diào)試工具 734.2.1 使用android lint 734.2.2 r類的問題 75第5章 第二個activity 765.1 創(chuàng)建第二個activity 775.1.1 創(chuàng)建新的activity 785.1.2 創(chuàng)建新的activity子類 815.1.3 在manifest配置文件中聲明activity 815.1.4 為quizactivity添加cheat按鈕 825.2 啟動activity 845.3 activity間的數(shù)據(jù)傳遞 865.3.1 使用intent extra 865.3.2 從子activity獲取返回結(jié)果 895.4 activity的使用與管理 945.5 挑戰(zhàn)練習(xí) 97第6章 android sdk版本與兼容 986.1 android sdk版本 986.2 android編程與兼容性問題 996.2.1 比較合理的版本 996.2.2 sdk*低版本 1016.2.3 sdk目標(biāo)版本 1016.2.4 sdk編譯版本 1016.2.5 安全添加新版本api中的代碼 1016.3 使用android開發(fā)者文檔 1046.4 挑戰(zhàn)練習(xí):報告編譯版本 106第7章 ui fragment與fragment管理器 1077.1 ui設(shè)計的靈活性需求 1087.2 fragment的引入 1087.3 著手開發(fā)criminalintent 1097.3.1 創(chuàng)建新項目 1127.3.2 fragment與支持庫 1137.3.3 在android studio中增加依賴關(guān)系 1147.3.4 創(chuàng)建crime類 1177.4 托管ui fragment 1187.4.1 fragment的生命周期 1187.4.2 托管的兩種方式 1197.4.3 定義容器視圖 1197.5 創(chuàng)建ui fragment 1207.5.1 定義crimefragment的布局 1217.5.2 創(chuàng)建crimefragment類 1227.6 添加ui fragment到fragment-manager 1257.6.1 fragment事務(wù) 1267.6.2 fragmentmanager與fragment生命周期 1297.7 采用fragment的應(yīng)用架構(gòu) 1307.8 深入學(xué)習(xí):為什么應(yīng)優(yōu)先使用支持庫版fragment 1317.9 深入學(xué)習(xí):使用操作系統(tǒng)內(nèi)置版fragment 131第8章 使用布局與組件創(chuàng)建用戶界面 1328.1 升級crime類 1328.2 更新布局 1338.3 生成并使用組件 1358.4 深入探討xml布局屬性 1368.4.1 樣式、主題及主題屬性 1368.4.2 dp、sp以及屏幕像素密度 1378.4.3 android開發(fā)設(shè)計原則 1388.4.4 布局參數(shù) 1398.4.5 邊距與內(nèi)邊距 1398.5 使用圖形布局工具 1408.5.1 創(chuàng)建水平模式布局 1418.5.2 添加新組件 1428.5.3 在屬性視圖中編輯組件屬性 1438.5.4 在框架視圖中重新組織組件 1448.5.5 更新子組件的布局參數(shù) 1458.5.6 android:layout_weight屬性的工作原理 1468.5.7 圖形布局工具使用總結(jié) 1478.5.8 組件id與多種布局 1488.6 挑戰(zhàn)練習(xí):日期格式化 148第9章 使用recyclerview顯示列表 1499.1 升級criminalintent應(yīng)用的模型層 1509.2 使用抽象activity托管fragment 1539.2.1 通用的fragment托管布局 1539.2.2 抽象activity類 1549.3 recyclerview、adapter和viewholder 1589.3.1 viewholder和adapter 1599.3.2 使用recyclerview 1619.3.3 實現(xiàn)adapter和viewholder 1639.4 定制列表項 1669.4.1 創(chuàng)建列表項布局 1669.4.2 使用定制列表項視圖 1689.5 響應(yīng)點擊 1709.6 深入學(xué)習(xí):listview和gridview 1719.7 深入學(xué)習(xí):單例 171第10章 使用fragmentargument 17310.1 從fragment中啟動activity 17310.1.1 附加extra信息 17410.1.2 獲取extra信息 17510.1.3 使用crime數(shù)據(jù)更新crimefragment視圖 17610.1.4 直接獲取extra信息的缺點 17710.2 fragment argument 17710.2.1 附加argument給fragment 17810.2.2 獲取argument 17910.3 刷新顯示列表項 18010.4 通過fragment獲取返回結(jié)果 18210.5 挑戰(zhàn)練習(xí):實現(xiàn)高效的recyclerview刷新 18310.6 深入學(xué)習(xí):為何要用fragment argument 183第11章 使用viewpager 18511.1 創(chuàng)建crimepageractivity 18611.1.1 viewpager與pageradapter 18711.1.2 整合并配置使用crimepageractivity 18811.2 fragmentstatepageradapter與fragmentpageradapter 19011.3 深入學(xué)習(xí):viewpager的工作原理 19211.4 深入學(xué)習(xí):以代碼的方式創(chuàng)建布局 193第12章 對話框 19412.1 使用appcompat兼容庫 19512.2 創(chuàng)建dialogfragment 19612.2.1 顯示dialogfragment 19812.2.2 設(shè)置對話框的顯示內(nèi)容 19912.3 fragment間的數(shù)據(jù)傳遞 20212.3.1 傳遞數(shù)據(jù)給datepicker- fragment 20312.3.2 返回數(shù)據(jù)給crime-fragment 20412.4 挑戰(zhàn)練習(xí):更多對話框 21112.5 挑戰(zhàn)練習(xí):按設(shè)備類型展現(xiàn)dialogfragment 212第13章 工具欄 21313.1 appcompat 21313.2 工具欄菜單 21613.2.1 在xml文件中定義菜單 21713.2.2 創(chuàng)建菜單 22113.2.3 響應(yīng)菜單項選擇 22313.3 實現(xiàn)層級式導(dǎo)航 22513.4 可選菜單項 22613.4.1 切換菜單項標(biāo)題 22713.4.2 “還有個問題” 22913.5 深入學(xué)習(xí):工具欄與操作欄 23113.6 挑戰(zhàn)練習(xí):刪除crime記錄 23113.7 挑戰(zhàn)練習(xí):優(yōu)化字符串資源顯示 23113.8 挑戰(zhàn)練習(xí):用于recyclerview的空視圖 232第14章 sqlite數(shù)據(jù)庫 23314.1 定義schema 23314.2 創(chuàng)建初始數(shù)據(jù)庫 23414.3 修改crimelab類 23814.4 寫入數(shù)據(jù)庫 23914.4.1 使用contentvalues 23914.4.2 插入和更新記錄 24014.5 讀取數(shù)據(jù)庫 24214.5.1 使用cursorwrapper 24314.5.2 創(chuàng)建模型層對象 24414.6 深入學(xué)習(xí):數(shù)據(jù)庫高級主題介紹 24714.7 深入學(xué)習(xí):應(yīng)用上下文 24814.8 挑戰(zhàn)練習(xí):刪除crime記錄 248第15章 隱式intent 24915.1 添加按鈕組件 25015.2 添加嫌疑人信息至模型層 25215.3 使用格式化字符串 25415.4 使用隱式intent 25515.4.1 隱式intent的組成 25515.4.2 發(fā)送消息 25615.4.3 獲取聯(lián)系人信息 25915.4.4 檢查可響應(yīng)任務(wù)的activity 26315.5 挑戰(zhàn)練習(xí):sharecompat 26515.6 挑戰(zhàn)練習(xí):又一個隱式intent 265第16章 使用intent拍照 26616.1 布置照片 26616.2 外部存儲 26916.3 使用相機intent 27216.3.1 外部存儲使用權(quán)限 27216.3.2 觸發(fā)拍照 27316.4 縮放和顯示位圖 27416.5 功能聲明 27716.6 深入學(xué)習(xí):使用include標(biāo)簽 27816.7 挑戰(zhàn)練習(xí):優(yōu)化照片顯示 27816.8 挑戰(zhàn)練習(xí):優(yōu)化縮略圖加載 279第17章 master-detail用戶界面 28017.1 增加布局靈活性 28117.1.1 修改singlefragment- activity 28217.1.2 創(chuàng)建包含兩個fragment容器的布局 28317.1.3 使用別名資源 28417.1.4 創(chuàng)建平板設(shè)備專用可選資源 28517.2 activity:fragment的托管者 28617.3 深入學(xué)習(xí):設(shè)備屏幕尺寸的確定 295第18章 assets 29718.1 為何使用assets 29718.2 創(chuàng)建beatbox應(yīng)用 29818.3 導(dǎo)入assets 30118.4 處理assets 30318.5 使用assets 30518.6 訪問assets 30818.7 深入學(xué)習(xí):什么是non-assets 308第19章 使用soundpool播放音頻 30919.1 創(chuàng)建soundpool 30919.2 加載音頻文件 31019.3 播放音頻 31119.4 釋放音頻 31319.5 設(shè)備旋轉(zhuǎn)和對象保存 31419.5.1 保留fragment 31519.5.2 旋轉(zhuǎn)和已保留fragment 31619.6 深入學(xué)習(xí):是否要保留 31819.7 深入學(xué)習(xí):設(shè)備旋轉(zhuǎn)處理再探 318第20章 樣式與主題 32120.1 顏色資源 32120.2 樣式 32220.3 主題 32420.4 添加主題顏色 32720.5 覆蓋主題屬性 32820.6 修改按鈕屬性 33220.7 深入學(xué)習(xí):樣式繼承拾遺 33420.8 深入學(xué)習(xí):引用主題屬性 33520.9 挑戰(zhàn)練習(xí):創(chuàng)建多版本主題 335第21章 xml drawable 33621.1 統(tǒng)一按鈕樣式 33721.2 shape drawable 33821.3 state list drawable 34021.4 layer list drawable 34121.5 深入學(xué)習(xí):為什么要用xml drawable 34221.6 深入學(xué)習(xí):使用9-patch圖像 34321.7 深入學(xué)習(xí):使用mipmap圖像 347第22章 深入學(xué)習(xí)intent和任務(wù) 34822.1 創(chuàng)建nerdlauncher項目 34822.2 解析隱式intent 35122.3 在運行時創(chuàng)建顯式intent 35522.4 任務(wù)與后退棧 35722.4.1 在任務(wù)間切換 35722.4.2 啟動新任務(wù) 35822.5 使用nerdlauncher應(yīng)用作為設(shè)備主屏幕 36122.6 挑戰(zhàn)練習(xí):應(yīng)用圖標(biāo) 36222.7 深入學(xué)習(xí):進程與任務(wù) 36222.8 深入學(xué)習(xí):并發(fā)文檔 364第23章 http與后臺任務(wù) 36723.1 創(chuàng)建photogallery應(yīng)用 36823.2 網(wǎng)絡(luò)連接基本 37123.3 使用asynctask在后臺線程上運行代碼 37323.4 線程與主線程 37423.5 從flickr獲取json數(shù)據(jù) 37623.6 從asynctask回到主線程 38323.7 清理asynctask 38623.8 深入學(xué)習(xí):asynctask再探 38723.9 深入學(xué)習(xí):asynctask的替代方案 38823.10 挑戰(zhàn)練習(xí):gson 38823.11 挑戰(zhàn)練習(xí):分頁 38823.12 挑戰(zhàn)練習(xí):動態(tài)調(diào)整網(wǎng)格列 389第24章 looper、handler和handlerthread 39024.1 配置recyclerview以顯示圖片 39024.2 批量下載縮略圖 39324.3 與主線程通信 39324.4 創(chuàng)建并啟動后臺線程 39424.5 message與message handler 39624.5.1 消息的剖析 39724.5.2 handler的剖析 39724.5.3 使用handler 39824.5.4 傳遞handler 40224.6 深入學(xué)習(xí):asynctask與線程 40724.7 挑戰(zhàn)練習(xí):預(yù)加載以及緩存 40724.8 深入學(xué)習(xí):解決圖片下載問題 408第25章 搜索 40925.1 搜索flickr網(wǎng)站 41025.2 使用searchview 41425.3 使用shared preferences實現(xiàn)輕量級數(shù)據(jù)存儲 41925.4 優(yōu)化應(yīng)用 42225.5 挑戰(zhàn)練習(xí):深度優(yōu)化photogallery應(yīng)用 423第26章 后臺服務(wù) 42426.1 創(chuàng)建intentservice 42426.2 服務(wù)的作用 42726.3 查找*新返回結(jié)果 42826.4 使用alarmmanager延遲運行服務(wù) 43026.4.1 合理控制服務(wù)啟動的頻度 43226.4.2 pendingintent 43326.4.3 使用pendingintent管理定時器 43426.5 控制定時器 43426.6 通知信息 43726.7 挑戰(zhàn)練習(xí):可穿戴設(shè)備上的通知 43926.8 深入學(xué)習(xí):服務(wù)細(xì)節(jié)內(nèi)容 44026.8.1 服務(wù)的能與不能 44026.8.2 服務(wù)的生命周期 44026.8.3 non-sticky服務(wù) 44026.8.4 sticky服務(wù) 44126.8.5 綁定服務(wù) 44126.9 深入學(xué)習(xí):jobscheduler和jobservice 44226.10 深入學(xué)習(xí):sync adapter 44526.11 挑戰(zhàn)練習(xí):在lollipop設(shè)備上使用jobservice 446第27章 broadcast intent 44727.1 一般intent和broadcast intent 44727.2 接收系統(tǒng)broadcast:重啟后喚醒 44827.2.1 standalone receiver 44827.2.2 使用receiver 45027.3 過濾前臺通知消息 45227.3.1 發(fā)送broadcast intent 45227.3.2 動態(tài)broadcast receiver 45327.3.3 使用私有權(quán)限 45527.3.4 使用有序broadcast 45827.4 receiver與長時運行任務(wù) 46227.5 深入學(xué)習(xí):本地事件 46227.5.1 使用eventbus 46327.5.2 使用rxjava 46327.6 深入學(xué)習(xí):檢測fragment的狀態(tài) 464第28章 網(wǎng)頁瀏覽 46628.1 *后一段flickr數(shù)據(jù) 46628.2 簡單方式:隱式intent 46928.3 較難方式:使用webview 47028.4 處理webview的設(shè)備旋轉(zhuǎn)問題 47628.5 深入學(xué)習(xí):注入javascript對象 47728.6 深入學(xué)習(xí):kitkat的webview 47828.7 挑戰(zhàn)練習(xí):使用后退鍵瀏覽歷史網(wǎng)頁 47828.8 挑戰(zhàn)練習(xí):非http鏈接支持 479第29章 定制視圖與觸摸事件 48029.1 創(chuàng)建draganddraw項目 48029.1.1 創(chuàng)建draganddraw-activity 48129.1.2 創(chuàng)建draganddraw-fragment 48129.2 創(chuàng)建定制視圖 48229.3 處理觸摸事件 48429.4 ondraw(...)方法內(nèi)的圖形繪制 48829.5 挑戰(zhàn)練習(xí):設(shè)備旋轉(zhuǎn)問題 49029.6 挑戰(zhàn)練習(xí):旋轉(zhuǎn)矩形框 490第30章 屬性動畫 49230.1 建立場景 49230.2 簡單屬性動畫 49530.2.1 視圖屬性轉(zhuǎn)換 49830.2.2 使用不同的interpolator 50030.2.3 色彩漸變 50030.3 播放多個動畫 50230.4 深入學(xué)習(xí):其他動畫api 50430.4.1 傳統(tǒng)動畫工具 50430.4.2 轉(zhuǎn)場 50430.5 挑戰(zhàn)練習(xí) 504第31章 地理位置和play服務(wù) 50531.1 地理位置和定位類庫 50531.2 創(chuàng)建locatr項目 50631.3 play服務(wù)和模擬器 50731.4 創(chuàng)建locatr應(yīng)用 51031.5 配置google play服務(wù) 51231.6 使用google play服務(wù) 51431.7 基于地理位置的flickr搜索 51631.8 獲取定位數(shù)據(jù) 51731.9 尋找并顯示圖片 51931.10 挑戰(zhàn)練習(xí):進度指示器 521第32章 使用地圖 52232.1 導(dǎo)入play地圖服務(wù)庫 52232.2 android上的地圖服務(wù) 52232.3 地圖api設(shè)置 52332.4 創(chuàng)建地圖 52532.5 獲取更多地理位置數(shù)據(jù) 52632.6 使用地圖 52932.7 深入學(xué)習(xí):團隊開發(fā)和api key 534第33章 material design 53633.1 material surface 53633.1.1 elevation和z值 53833.1.2 state list animator 53933.2 動畫工具 54033.2.1 circular reveal 54133.2.2 shared element transition 54233.3 新的視圖組件 54533.3.1 card 54533.3.2 floating action button 54733.3.3 snackbar 54833.4 深入學(xué)習(xí)material design 549第34章 編后語 55034.1 終極挑戰(zhàn) 55034.2 關(guān)于我們 55134.3 致謝 551
展開全部
Android編程權(quán)威指南-(第2版) 相關(guān)資料
“對我們來說,這是一本非常全面的培訓(xùn)教材,它已使我們公司數(shù)百名工程師掌握了構(gòu)建android應(yīng)用的訣竅。另外,對想要提升android開發(fā)技能的人,這本書同樣也有很大幫助。”——mike shaver,facebook通信工程主管
“不管你是剛剛邁進android開發(fā)的大門,還是準(zhǔn)備掌握更多高級開發(fā)技術(shù),本書都非常值得看。其完整的內(nèi)容體系、清晰的組織結(jié)構(gòu)以及輕松的講述風(fēng)格,都讓人過目不忘。”——james steele,《android開發(fā)秘籍》作者
“整本書的內(nèi)容編排非常人性化!每個例程都從一個簡單的activity開始,一步一步地往里面添加新的功能,每一步都講解得細(xì)致入微,然后在讀者的面前,慢慢變得強大起來?梢哉f,每個例程都是從開發(fā)者的角度開始,遵循一套科學(xué)的開發(fā)流程,最后變成一個功能強大的應(yīng)用程序。與此同時,需要掌握的開發(fā)技巧也就融合進去了。”——亞馬遜讀者評論
“知識點講解得很全面,通過實際示例練習(xí)逐步上手。章節(jié)末尾的挑戰(zhàn)練習(xí)和深入學(xué)習(xí)非常到位,遇到自己暫時無法解決的問題也可以去官網(wǎng)論壇上同其他讀者交流討論。讀完此書后,我的android應(yīng)用開發(fā)技能有了很大提高。” ——亞馬遜讀者評論
“每一章都是實打?qū)嵉睦,由小到大、由淺入深,順序安排得很貼心,讓人學(xué)得很舒服,是迄今為止看到過的最好的教程。難能可貴的一點是,每個例子的代碼規(guī)范都很棒。”——亞馬遜讀者評論
Android編程權(quán)威指南-(第2版) 作者簡介
Bill Phillips
Big Nerd Ranch資深講師。他在Big Nerd Ranch與人合作開發(fā)了廣受好評的Android訓(xùn)練營培訓(xùn)課程,并為之編寫教材(包括本書第1版)。此后,Bill一直堅持撰寫博客、閱讀各類文學(xué)作品、作曲奏樂以及著書。
Chris Stewart
Big Nerd Ranch資深A(yù)ndroid訓(xùn)練營講師、Android團隊主管。他致力于不斷取得進步,精進技能。不坐在電腦前時,Chris喜歡遠(yuǎn)足和旅行。
Brian Hardy
Big Nerd Ranch的iOS和Cocoa工程主管。他是Android訓(xùn)練營的首批講師,與許多客戶合作開發(fā)了眾多Android和iOS移動應(yīng)用。除同開發(fā)團隊構(gòu)建更出色的軟件和研究自己最新的項目之外,Brian喜歡陪伴朋友與家人——通常是在燒烤架旁。
Kristin Marsicano
Big Nerd Ranch資深講師、Android開發(fā)者。她喜歡與他人分享知識,對學(xué)習(xí)、軟件開發(fā)以及二者的交集充滿熱情。在授課和開發(fā)應(yīng)用之余,Kristin會為家人烹調(diào)美食、練習(xí)瑜伽或?qū)W習(xí)一些新知識。