android開發(fā)進階 從小工到專家是一本Android開發(fā)進階書籍,由Android工程師何紅輝編著。本書結合作者多年開發(fā)經(jīng)驗的總結,把作者以前開發(fā)走過的坑和陷阱講解出來,看了以后可以少走很多彎路,提升自己的開發(fā)能力很快,抓住開發(fā)的痛點和需求講解內(nèi)容,使讀者閱讀后很有成就感。全書除了全面講解了Android開發(fā)知識外,還對單元測試、代碼規(guī)范、版本控制、重構、架構等重要知識點進行了講解,使得讀者在深入技術的同時開闊眼界,能夠以更專業(yè)的方式設計應用軟件,完成從只會實現(xiàn)功能的“碼農(nóng)”到軟件工程師、設計師的過渡。
《android開發(fā)進階 從小工到專家》的主要內(nèi)容為:構成Android系統(tǒng)基石的四大組件、創(chuàng)造出豐富多彩的UI設計的控件、保證App流暢的多線程開發(fā)、必知必會的HTTP網(wǎng)絡請求應用、數(shù)據(jù)存儲的核心SQLite數(shù)據(jù)庫、讓程序的性能優(yōu)化、讓程序更整潔的代碼規(guī)范、管理程序的好幫手Git版本控制,以及需要掌握的高級技術,如單元測試、六大原則與設計模式、重構和綜合實戰(zhàn)等。本書適合Android開發(fā)初學者、程序員學習,也適合作為大中專院校相關專業(yè)的師生用書和培訓學校的教材。
2、如果打不開本文件,請務必下載pdf閱讀器
3、安裝后,在打開解壓得出的pdf文件
4、雙擊進行閱讀試讀
收起介紹展開介紹

內(nèi)容介紹
《android開發(fā)進階 從小工到專家》是一本專門介紹Android開發(fā)的圖書。書中首先對Android開發(fā)的核心知識點進行深入講解,然后介紹單元測試、代碼規(guī)范、版本控制、重構、架構等重要的知識,使得讀者在深入掌握技術的同時也幫助他們開闊眼界,且能夠以更專業(yè)的方式設計應用軟件,完成從只會實現(xiàn)功能的初級程序員到軟件工程師、設計師的轉變。《android開發(fā)進階 從小工到專家》的主要內(nèi)容為:構成Android系統(tǒng)基石的四大組件、創(chuàng)造出豐富多彩的UI設計的控件、保證App流暢的多線程開發(fā)、必知必會的HTTP網(wǎng)絡請求應用、數(shù)據(jù)存儲的核心SQLite數(shù)據(jù)庫、讓程序的性能優(yōu)化、讓程序更整潔的代碼規(guī)范、管理程序的好幫手Git版本控制,以及需要掌握的高級技術,如單元測試、六大原則與設計模式、重構和綜合實戰(zhàn)等。本書適合Android開發(fā)初學者、程序員學習,也適合作為大中專院校相關專業(yè)的師生用書和培訓學校的教材。
章節(jié)目錄
第1章 Android的構成基石—四大組件 1 1.1 Activity 1 1.1.1 Activity的構成 3 1.1.2 Activity的4種啟動模式 5 1.1.3 FragmentActivity與Fragment 7 1.2 Service與AIDL 8 1.2.1 普通Service 8 1.2.2 IntentService 9 1.2.3 運行在前臺的Service 10 1.2.4 AIDL(Android接口描述語言) 11 1.3 Broadcast(廣播) 17 1.3.1 普通廣播 17 1.3.2 有序廣播 18 1.3.3 本地廣播 19 1.3.4 sticky廣播 19 1.4 ContentProvider(外共享數(shù)據(jù)) 19 1.5 小結 26 第2章 創(chuàng)造出豐富多彩的UI— View與動畫 27 2.1 重要的View控件 27 2.1.1 ListView與GridView 27 2.1.2 數(shù)據(jù)展示更好的實現(xiàn)—— RecyclerView 32 2.1.3 讓頁面顯示更流暢——ViewPager 33 2.2 必須掌握的最重要的技能— 自定義控件 35 2.2.1 最為自由的一種實現(xiàn)——自定義View 36 2.2.2 View的尺寸測量 38 2.2.3 Canvas與Paint(畫布與畫筆) 42 2.2.4 自定義ViewGroup 45 2.3 Scroller的使用 46 2.4 讓應用更精彩—動畫 56 2.4.1 幀動畫 57 2.4.2 補間動畫 58 2.4.3 屬性動畫 60 2.4.3.1 屬性動畫的核心類—— ValueAnimator 60 2.4.3.2 對任意屬性進行動畫操作—— Object Animator 61 2.4.3.3 實現(xiàn)豐富多彩的動畫效果—— AnimatorSet 62 2.4.3.4 動畫執(zhí)行時間——TypeEvaluator與TimeInterpolator 63 2.5 小結 66 第3章 保證App流暢的關鍵因素— 多線程 67 3.1 Android中的消息機制 67 3.1.1 處理消息的手段——Handler、Looper與MessageQueue 67 3.1.2 在子線程中創(chuàng)建Handler為何 會拋出異常 72 3.2 Android中的多線程 73 3.2.1 多線程的實現(xiàn)——Thread和Runnable 73 3.2.2 線程的wait、sleep、join和 yield 74 3.2.3 與多線程相關的方法——Callable、Future和FutureTask 78 3.2.4 構建服務器應用程序的有效 方法——線程池 81 3.2.4.1 啟動指定數(shù)量的線程—— ThreadPoolExecutor 82 3.2.4.2 定時執(zhí)行一些任務——Scheduled ThreadPoolExecutor 85 3.2.4.3 線程池的使用準則 86 3.2.5 同步集合 87 3.2.5.1 程序中的優(yōu)化策略—— CopyOnWriteArrayList 87 3.2.5.2 提高并發(fā)效率—— ConcurrentHashMap 88 3.2.5.3 有效的方法—— BlockingQueue 88 3.2.6 同步鎖 89 3.2.6.1 同步機制關鍵字—— synchronized 89 3.2.6.2 顯示鎖—— ReentrantLock與 Condition 90 3.2.6.3 信號量Semaphore 93 3.2.6.4 循環(huán)柵欄CyclicBarrier 94 3.2.6.5 閉鎖CountDownLatch 95 3.2.7 創(chuàng)建異步任務更簡單—— AysncTask的原理 97 3.2.7.1 AsyncTask的實現(xiàn)基本原理 97 3.2.7.2 實現(xiàn)一個簡單的AsyncTask 105 3.3 小結 108 第4章 HTTP網(wǎng)絡請求 109 4.1 HTTP網(wǎng)絡請求原理 109 4.1.1 HTTP的請求方式 110 4.1.1.1 GET請求 110 4.1.1.2 POST請求 110 4.1.1.3 PUT請求 111 4.1.1.4 DELETE請求 111 4.1.1.5 HEAD請求 112 4.1.1.6 TRACE請求 112 4.1.1.7 OPTIONS請求 113 4.1.2 HTTP報文格式解析 113 4.1.2.1 響應報文 116 4.1.2.2 常見的請求頭部 117 4.1.3 簡單模擬HTTP服務器 117 4.2 Android中執(zhí)行網(wǎng)絡請求 126 4.2.1 全面支持HTTP協(xié)議—— HttpClient 126 4.2.2 最佳選擇——HttpURLConnection 128 4.3 網(wǎng)絡框架的設計與實現(xiàn) 130 4.3.1 SimpleNet的基本架構 130 4.3.2 Request類 131 4.3.3 Response類 135 4.3.4 請求隊列 136 4.3.5 NetworkExecutor網(wǎng)絡執(zhí)行器 137 4.3.6 執(zhí)行網(wǎng)絡請求的接口—— HttpStack 139 4.3.7 將請求的回調執(zhí)行到UI線程—— ResponseDelivery 142 4.3.8 手動實現(xiàn)文件上傳 144 4.3.8.1 自定義實現(xiàn)MultipartEntity 144 4.3.8.2 SimpleNet中實現(xiàn)文件上傳 149 4.4 小結 151 第5章 獨特高效的數(shù)據(jù)存儲—SQLite 數(shù)據(jù)庫 152 5.1 SQLite3的基本介紹 152 5.1.1 SQLite前端解析系統(tǒng) 153 5.1.2 SQLite后端引擎 154 5.2 SQLite中的SQL語句 154 5.2.1 創(chuàng)建數(shù)據(jù)庫 154 5.2.2 創(chuàng)建表 154 5.2.3 插入數(shù)據(jù) 159 5.2.4 select語句 161 5.2.5 update語句 168 5.2.6 delete語句 169 5.2.7 修改表 169 5.2.8 創(chuàng)建索引 170 5.2.9 創(chuàng)建視圖 171 5.2.10 創(chuàng)建觸發(fā)器 171 5.2.11 drop命令 172 5.3 Android中的數(shù)據(jù)庫開發(fā) 173 5.3.1 數(shù)據(jù)庫基本類型與接口 173 5.3.2 Android數(shù)據(jù)庫使用示例 177 5.3.3 數(shù)據(jù)庫升級 181 5.3.4 Android中數(shù)據(jù)庫的異步操作 181 5.4 數(shù)據(jù)庫框架ActiveAndroid的使用與 基本原理 184 5.4.1 使用ActiveAndroid 184 5.4.2 數(shù)據(jù)庫升級 188 5.4.3 基本原理 189 5.5 小結 196 第6章 讓程序更優(yōu)秀的技術—性能 優(yōu)化 197 6.1 布局優(yōu)化 197 6.1.1 include布局 197 6.1.2 merge標簽 201 6.1.3 ViewStub視圖 204 6.1.4 減少視圖樹層級 209 6.2 內(nèi)存優(yōu)化 211 6.3 內(nèi)存泄漏 216 6.3.1 使用 Memory Monitor 216 6.3.2 內(nèi)存泄漏檢測利器—— LeakCanary 218 6.4 性能優(yōu)化 222 6.4.1 過度繪制 222 6.4.2 Android 圖形渲染 223 6.4.3 數(shù)據(jù)采集和分析工具—— TraceView 227 6.5 小結 231 第7章 裝點程序“門面”—代碼規(guī)范 232 7.1 代碼規(guī)范的第一個重點—排版 232 7.1.1 代碼縮進 232 7.1.2 長句分割 233 7.1.3 一句一行 233 7.1.4 大括號 233 7.1.5 空行分隔 234 7.1.6 空行分隔 234 7.1.7 數(shù)據(jù)與函數(shù)的排布 235 7.1.8 修飾詞順序 235 7.2 注釋 235 7.2.1 類注釋 236 7.2.2 注釋的位置 236 7.2.3 函數(shù)的注釋 237 7.2.4 異常的注釋 237 7.3 命名 238 7.3.1 包的命名 238 7.3.2 類與接口的命名 238 7.3.3 函數(shù)命名 238 7.3.4 setter和getter 238 7.3.5 字段名 239 7.3.6 字段名 239 7.4 編碼建議 239 7.4.1 beak語句 239 7.4.2 覆寫時添加@Override 239 7.4.3 指定集合中的元素類型 240 7.4.4 顯示指明操作符優(yōu)先級 240 7.5 小結 240 第8章 讓不斷升級的系統(tǒng)更好管理— Git版本控制 241 8.1 Git起源 243 8.2 Git基本原理 243 8.2.1 直接記錄快照,而非差異 比較 243 8.2.2 近乎所有操作都是本地執(zhí)行 244 8.2.3 時刻保持數(shù)據(jù)完整性 245 8.2.4 多數(shù)操作僅添加數(shù)據(jù) 245 8.2.5 文件的3種狀態(tài) 245 8.3 Git基本配置 246 8.4 Git基本命令 247 8.4.1 進行版本控制的第一步—— Git init 248 8.4.2 常用的版本控制命令—— Git status 248 8.4.3 添加到追蹤列表中——Git add 248 8.4.4 提交——Git commit 249 8.4.5 查看項目歷史記錄——Git log 250 8.4.6 下載程序——Git clone 250 8.4.7 不同分支——Git branch 251 8.4.8 簽出一個分支——Git checkout 251 8.4.9 合并分支——Git merge 253 8.4.10 解決沖突 254 8.4.11 為版本打一個標簽——Git tag 255 8.4.12 幫助文檔——Git help 256 8.5 項目協(xié)作—GitHub 256 8.5.1 SSH key配置 257 8.5.2 項目托管——it remote 258 8.5.3 將項目推送到遠程倉庫—— Git push 259 8.5.4 更新最代碼——Git pull 260 8.5.5 Giti gnore忽略文件 261 8.5.6 Fork 加Pull request多人協(xié)作 模式 262 第9章 開發(fā)人員必備的技能— 單元測試 267 9.1 什么是單元測試 267 9.2 為什么要做單元測試 267 9.3 不寫單元測試的借口 268 9.4 如何寫單元測試 269 9.4.1 第一個單元測試 269 9.4.2 Junit簡介 272 9.4.2.1 Junit執(zhí)行流程 273 9.4.2.2 Junit的斷言和失敗提示 273 9.4.2.3 運行多個測試類—— TestSuite 274 9.5 測試哪些內(nèi)容 275 9.5.1 邊界條件 275 9.5.2 覆蓋執(zhí)行路徑 275 9.6 模擬所需的功能模塊—Mock 對象 278 9.6.1 手動Mock對象 278 9.6.2 使用Mockito庫 279 9.6.2.1 驗證某些行為 280 9.6.2.2 如何做一些測試樁(Stub) 280 9.6.2.3 參數(shù)匹配器 281 9.6.2.4 驗證函數(shù)的確切調用次數(shù)、 最少調用、從未調用 281 9.6.2.5 確保交互操作沒有執(zhí)行 在Mock對象上 282 9.6.2.6 簡化Mock對象的創(chuàng)建 282 9.6.2.7 為連續(xù)的調用做測試 樁(stub) 283 9.6.2.8 為回調做測試樁 283 9.6.2.9 doReturn()、doThrow()、 doAnswer()、doNothing() 和doCallRealMethod()系列 方法的運用 283 9.6.2.10 監(jiān)控真實對象 284 9.6.2.11 為下一步的斷言捕獲參數(shù) 285 9.6.2.12 綜合示例演練 285 9.7 Android中的單元測試 288 9.7.1 第一個單元測試 288 9.7.2 使用Instrumentation測試 290 9.7.2.1 需要Context的測試用例 290 9.7.2.2 測試Activity 290 9.7.2.3 測試Service 293 9.7.2.4 測試ContentProvider 295 9.8 測試驅動開發(fā)(TDD)簡介 298 9.9 小結 300 第10章 六大原則與設計模式 301 10.1 面向對象六大原則 301 10.1.1 單一職責原則 301 10.1.2 里氏替換原則 302 10.1.3 依賴倒置原則 304 10.1.4 開閉原則 304 10.1.5 接口隔離原則 306 10.1.6 迪米特原則 308 10.2 設計模式 309 10.3 避免掉進過度設計的怪圈 310 10.4 反模式 311 10.5 小結 311 第11章 使系統(tǒng)適應變化—重構 312 11.1 為什么要重構 312 11.2 什么時候重構 313 11.3 常用的重構手法 313 11.3.1 提取子函數(shù) 313 11.3.2 上移函數(shù)到父類 316 11.3.3 下移函數(shù)到子類 318 11.3.4 封裝固定的調用邏輯 320 11.3.5 使用泛型去除重復邏輯 320 11.3.6 使用對象避免過多的參數(shù) 322 11.3.7 重構的支柱——轉移函數(shù) 324 11.3.8 將類型碼的轉為狀態(tài)模式 326 11.3.9 什么也不做的對象——NullObject 模式 329 11.3.10 使類保持“苗條身材”——分解“胖”類型 331 11.4 小結 334 第12章 從碼農(nóng)歷練成工程師— 綜合實戰(zhàn) 335 12.1 項目需求 335 12.2 第一版實現(xiàn) 336 12.3 第一版存在的問題與重構 352 12.3.1 類型重命名 352 12.3.2 去除重復代碼 353 12.3.3 簡化復雜的函數(shù) 356 12.3.4 明確職責與降低耦合 358 12.4 降低復雜性—MVP架構 362 12.5 開啟單元測試之路— 添加單元測試 367 12.5.1 創(chuàng)建測試工程 367 12.5.2 測試網(wǎng)絡請求解析類 369 12.5.3 測試數(shù)據(jù)庫操作類 371 12.5.4 測試業(yè)務邏輯Presenter 374 12.5.5 模擬對象 375 12.5.6 更多測試 377 12.6 小結 378
使用說明
1、下載并解壓,得出pdf文件2、如果打不開本文件,請務必下載pdf閱讀器
3、安裝后,在打開解壓得出的pdf文件
4、雙擊進行閱讀試讀
- 下載地址
發(fā)表評論
0條評論軟件排行榜
熱門推薦
南方Plus電腦版 v12.4.024.3M / 簡體中文
得間免費小說電腦版 v5.3.8.396.71M / 簡體中文
網(wǎng)易新聞電腦版 v113.987.37M / 簡體中文
cnki全球學術快報電腦版 v1.0.4104.49M / 簡體中文
吉利博瑞用戶手冊 pdf高清版57.89M / 簡體中文
未公開的Oracle數(shù)據(jù)庫秘密 迪貝斯pdf掃描版34.69M / 簡體中文
PHP語言精粹電子書 pdf掃描版25.72M / 簡體中文
linux常用命令大全 chm版1.48M / 簡體中文
本草綱目 5.34M / 簡體中文
HotSpot實戰(zhàn)(陳濤著) 中文pdf掃描版82M / 簡體中文