全能Android絕對正確培養聖經 (旗艦版) | 誠品線上

全能Android絕對正確培養聖經 (旗艦版)

作者 顧浩鑫
出版社 佳魁資訊股份有限公司
商品描述 全能Android絕對正確培養聖經 (旗艦版):Android的書這麼多,要找到真正幫你培養全職能的書卻不容易。這是一本來自第一線網路公司的真正實作產品方案的完整過程,而非簡單

內容簡介

內容簡介 Android的書這麼多,要找到真正幫你培養全職能的書卻不容易。這是一本來自第一線網路公司的真正實作產品方案的完整過程,而非簡單說明一下Android的函數庫,開發原理等基礎書籍。全書包括了規劃、設計、測試、佈署、多人協作、好用工具等等,這林林總總,都是從血淋淋的網際網路產品戰場上打下的基礎。看完本書,就具備了世界前500大網路公司的寶貴開發經驗,是想成為全能Android高手的必讀。

作者介紹

作者介紹 ■作者簡介顧浩鑫

產品目錄

產品目錄 第1篇 基礎篇CHAPTER 01 Android觸控事件傳遞機制1.1 觸控事件的類型1.2 事件傳遞的三個階段1.3 View的事件傳遞機制1.4 ViewGroup的事件傳遞機制CHAPTER 002 AndroidView的繪製流程2.1 繪製的整體流程2.2 MeasureSpec2.3 Measure2.4 Layout2.5 DrawCHAPTER 03 Android動畫機制3.1 逐頁框動畫(Frame Animation)3.2 補間動畫(Tween Animation)3.3 屬性動畫(Property Animation)3.4 過場動畫(Transition Animation)CHAPTER 04 Support Annotation Library使用詳解4.1 Nullness註釋4.2 資源類型註釋4.3 類型定義註釋4.4 執行緒註釋4.5 RGB顏色值註釋4.6 值範圍註釋4.7 許可權註釋4.8 重新定義函數註釋4.9 傳回值註釋4.10 @VisibleForTesting4.11 @KeepCHAPTER 05 Percent SupportLibrary使用詳解CHAPTER 06 Design SupportLibrary使用詳解6.1 Snackbar6.2 TextInputLayout6.3 TabLayout6.4 NavigationView .6.5 FloatingActionButton6.6 CoordinatorLayout6.7 CollapsingToolbarLayout6.8 BottomSheetBehaviorCHAPTER 07 AndroidStudio中的NDK開發7.1 ABI的基本概念7.2 引用預先編譯的二進位C C++函數程式庫7.3 直接從C C++原始程式編譯7.4 使用.so檔案的注意事項CHAPTER 08 Gradle一定要會8.1 共用變數的定義8.2 通用設定8.3 aar函數程式庫的參考8.4 簽名和混淆的設定09 透過Gradle套件裝發佈函數程式庫到JCenter和Maven Central9.1 Maven Central和JCenter9.2 AndroidStudio取得函數程式庫的原理9.3 上傳函數程式庫到JCenterCHAPTER 10 Builder模式詳解10.1 經典的Builder模式10.2 Builder模式的變種10.3 變種Builder模式的自動化產生10.4 開放原始碼函數程式庫的實例CHAPTER 11 註釋在Android中的應用11.1 註釋的定義11.2 標準註釋11.3 執行時期註釋11.4 編譯時註釋CHAPTER 12 ANR 產生的原因及其定位分析12.1 ANR 產生的原因12.2 典型的ANR問題場景12.3 ANR的定位和分析12.4 ANR的避免和檢測CHAPTER 13 Android非同步處理技術13.1 Thread13.2 HandlerThread13.3 AsyncQueryHandler13.4 IntentService13.5 Executor Framework13.6 AsyncTask13.7 Loader13.8 歸納CHAPTER 14 Android資料序列化方案研究14.1 Serializable14.2 Parcelable14.3 SQLiteDatabase14.4 SharedPreferences14.5 JSON14.6 Protocol Buffers及Nano-Proto-Buffers14.7 FlatBuffersCHAPTER 15 AndroidWebView Java和JavaScript互動詳解15.1 Java呼叫JavaScript15.2 JavaScript 呼叫Java第2篇 系統架構篇CHAPTER 16 MVP模式及其在Android中的實作16.1 MVP的基本概念16.2 MVP與MVC的區別16.3 MVP的開放原始碼實現16.4 MVP的好處16.5 MVP存在的問題CHAPTER 17 MVVM模式及AndroidDataBinding實戰17.1 Data Binding運算式17.2 資料物件17.3 資料綁定17.4 事件綁定CHAPTER 18 觀察者模式的擴充:事件匯流排18.1 為何要使用18.2 原理18.3 開放原始碼實現18.4 與觀察者模式及Android廣播的區別CHAPTER 19 撰寫簡潔標準的程式19.1 Java編碼標準19.2 Android命名標準19.3 CheckStyle的使用CHAPTER 20 以開放原始碼專案架設屬於自己為基礎的技術堆疊20.1 APP的整體架構20.2 技術選型的考量點20.3 記錄檔記錄能力20.4 JSON解析能力20.5 資料庫操作能力20.6 網路通訊能力20.7 圖片快取和顯示能力第3篇 經驗歸納篇CHAPTER 21 64K方法數限制原理與解決方案21.1 64K限制的原因21.2 使用MultiDex解決64K限制的問題21.3 如何避免出現64K限制21.4 設定MultiDex21.5 MultiDex Support Library的限制21.6 在開發階段最佳化MultiDex的建置CHAPTER 22 Android外掛程式架構機制研究與實作22.1 基本概念22.2 開放原始碼架構CHAPTER 23 發送機制實現原理詳解23.1 發送的開放原始碼實現方案23.2 發送的協力廠商平台23.3 自己實現發送功能CHAPTER 24 APP瘦身經驗歸納24.1 APP為什麼變胖了24.2 從APK檔案的結構說起24.3 最佳化圖片資源佔用的空間24.4 使用Lint刪除無用資源24.5 利用AndroidGradle設定24.6 重構和最佳化程式24.7 資源混淆24.8 外掛程式化CHAPTER 25 AndroidCrash記錄檔收集原理與實作25.1 Java層Crash捕捉機制25.2 Native層Crash捕捉機制25.3 Crash的上報第4篇 新技術篇CHAPTER 26 函數式程式設計思想及其在Android中的應用26.1 程式的簡化26.2 Operators簡介CHAPTER 27 依賴植入及其在Android中的應用27.1 基本概念27.2 為何需要架構27.3 開放原始碼架構的選擇CHAPTER 28 Android世界的Swift:Kotlin在Android中的應用28.1 選擇Kotlin 的原因28.2 Kotlin的安裝和設定28.3 Kotlin語言的特性28.4 Kotlin的Gradle設定28.5 將Java類別轉換成Kotlin類別28.6 相關資料CHAPTER 29 React Native For Android入門指南29.1 環境設定29.2 Android開發環境的要求29.3 React Native 專案設定29.4 AndroidStudio專案概覽29.5 React Native依賴函數庫修改為本機29.6 React Native學習建議CHAPTER 30 Android線上熱修復方案研究30.1 線上熱修復的基本流程30.2 Dexposed30.3 AndFix30.4 Nuwa30.5 歸納31 針對切面程式設計及其在Android中的應用31.1 AOP的基本概念31.2 程式織入的時機31.3 基於AspectJ實現Android平台的AOP31.4 其他AOP開放原始碼架構CHAPTER 32 基於Facebook Buck改造Android建置系統32.1 Buck環境設定32.2 快速建立以Buck建置為基礎的Android專案32.3 Buck的基本概念32.4 專案改造實戰32.5 Buck的自動化改造第5篇 效能最佳化篇CHAPTER 33 程式最佳化33.1 資料結構的選擇33.2 Handler和內部類別的正確用法33.3 正確地使用Context33.4 掌握Java的四種參考方式33.5 其他程式微最佳化CHAPTER 34 圖片最佳化34.1 圖片的格式34.2 圖片的壓縮34.3 圖片的快取CHAPTER 35 電量最佳化35.1 BroadcastReceiver35.2 資料傳輸35.3 位置服務35.4 AlarmManager35.5 WakeLockCHAPTER 36 版面配置最佳化36.1 include標籤共用版面配置36.2 ViewStub標籤實現延遲載入36.3 merge標籤減少版面配置層次36.4 儘量使用CompoundDrawable36.5 使用LintCHAPTER 37 網路最佳化37.1 避免DNS解析37.2 合併網路請求37.3 預先取得資料37.4 避免輪詢37.5 最佳化重連機制37.6 離線快取37.7 壓縮資料大小37.8 不同的網路環境使用不同的逾時策略37.9 CDN的使用第6篇 移動安全篇CHAPTER 38 Android混淆機制詳解38.1 Java程式的混淆38.2 Native(C C++)程式的混淆38.3 資源檔的混淆CHAPTER 39 Android反編譯機制詳解39.1 資源檔的反編譯39.2 Java程式的反編譯CHAPTER 40 用戶端敏感資訊隱藏技術研究40.1 敏感資訊巢狀結構在strings.xml中40.2 敏感資訊隱藏在Java原始程式碼中40.3 敏感資訊隱藏在BuildConfig中40.4 使用DexGuard40.5 對敏感資訊進行偽裝或加密40.6 敏感資訊隱藏在原生函數程式庫中(.so檔案)40.7 對APK進行強化處理CHAPTER 41 Android強化技術研究41.1 愛加密的主要功能41.2 常見APP漏洞及風險41.3 Android程式反破解技術41.4 強化技術研究知識儲備CHAPTER 42 Android安全的程式42.1 WebView遠端程式執行42.2 WebView密碼明文儲存42.3 Android本機拒絕服務42.4 SharedPreference全域任意讀寫42.5 金鑰強制寫入42.6 AES DES RSA弱加密42.7 隨機函數使用錯誤42.8 WebView忽略SSL憑證42.9 HTTPS憑證弱驗證42.10 PendingIntent使用不當第7篇 工具篇CHAPTER 43 Android偵錯工具Facebook Stetho43.1 視圖版面配置監視43.2 資料庫監視43.3 網路監視43.4 dumpapp43.5 Javascript主控台43.6 最佳做法CHAPTER 44 記憶體洩漏檢測函數程式庫LeakCanary44.1 基本概念44.2 LeakCanary的整合44.3 LeakCanary的原理44.4 LeakCanary的訂製CHAPTER 45 基於FacebookRedex實現AndroidAPK的壓縮和最佳化45.1 轉換的時機45.2 管線的思想45.3 減少位元組碼的意義45.4 混淆和壓縮45.5 使用內聯函數45.6 無用程式的消除45.7 Redex 的整合和使用CHAPTER 46 AndroidStudio你所需要知道的功能46.1 Annotate46.2 .ignore外掛程式46.3 Live Templates46.4 整合Bug管理系統第8篇 測試篇47 Android單元測試架構簡介47.1 Java單元測試架構JUnit47.2 Android單元測試架構Robolectric 3.047.3 Java模擬測試架構Mockito1CHAPTER 48 AndroidUI自動化測試架構簡介48.1 Monkey48.2 MonkeyRunner48.3 UIAutomator48.4 Robotium48.5 Espresso48.6 AppiumCHAPTER 49 Android靜態程式分析實戰49.1 Java程式標準檢查工具CheckStyle49.2 Java靜態程式分析工具FindBugs49.3 Java靜態程式分析工具PMD49.4 Android程式最佳化工具LintCHAPTER 50 基於Jenkins+Gradle架設Android持續整合編譯環境50.1 Tomcat的下載和啟動50.2 Jenkins的下載和執行50.3 Jenkins外掛程式的安裝50.4 Jenkins全域設定50.5 JOB相關的操作50.6 Jenkins預先定義的環境變數

商品規格

書名 / 全能Android絕對正確培養聖經 (旗艦版)
作者 / 顧浩鑫
簡介 / 全能Android絕對正確培養聖經 (旗艦版):Android的書這麼多,要找到真正幫你培養全職能的書卻不容易。這是一本來自第一線網路公司的真正實作產品方案的完整過程,而非簡單
出版社 / 佳魁資訊股份有限公司
ISBN13 / 9789863797456
ISBN10 / 9863797456
EAN / 9789863797456
誠品26碼 / 2681740568005
頁數 / 512
開數 / 18K
注音版 /
裝訂 / P:平裝
語言 / 1:中文 繁體
尺寸 / 17X23X2.3CM
級別 / N:無

最佳賣點

最佳賣點 : 紮實基礎/極霸效能/高超應用/深度強化
◆ 8大篇幅結構打造強勁堅實的技術
◆ Android高級工程師50個必備技能
讓身在高點的能手更能傲視群倫無人能及

試閱文字

自序 : 前言
Android應用程式開發發展到今天,已經成為一個非常成熟的技術方向,市面上湧現了大量關於Android開發的圖書,整體來說可以分為以下幾種。
■ 入門實戰類別:這類圖書是市面上最多的,也是開發者比較青睞的一種圖書,基本上介紹的都是Android的基礎知識,例如介面開發、資料儲存、網路通訊、資料庫操作、感測器使用等,最後附上一兩個簡單實戰專案的介紹。建議讀者在入門的時候買一本評價還不錯的入門實戰書學習一遍,然後結合實際專案進行知識加強即可,之後這種書基本上扮演的是工具書的角色,就是在忘記某個基礎知識的時候到書中查一查重新溫習一遍。
■ 原始程式分析類別:這類圖書又可以分為Framework層原始程式分析類別和Native層原始程式分析類別兩種,這類圖書主要針對從事Android系統開發的讀者。當然,從事應用程式開發的讀者如果對Android Framework等底層的實現原理有所了解的話那也是大有裨益的,而且相對而言更有優勢。
■ 安全和逆向分析類別:這類圖書主要介紹的是Android平台的軟體安全、逆向分析及加解密技術等,主要有關Android軟體的靜態分析、動態偵錯、破解及反破解等技術。這個方向的知識既有Android應用程式開發者所需要的,也有Android系統開發者所需要的,職場上也有專門的Android系統安全相關的職務。
■ 系統移植和驅動類別:這類圖書主要介紹的是Android核心、移植和驅動開發的整個底層嵌入式開發知識,這一種基礎知識其實並不能算作移動端開發,本質上屬於傳統的嵌入式開發領域,畢竟Android底層就是一個Linux系統。
以上便是目前筆者所看到的Android圖書市場所覆蓋的內容,可以說是大而全。但事實上在筆者看來,還有一種圖書是目前沒有出現的,那就是表現第一線網際網路公司專案實作中有關的重要基礎知識,筆者將之歸類為第5類別:專案實作類別。希望本書能夠彌補這個空白,並期待能夠看到更多這類圖書的出現。

◎ 本書內容
本書從結構上分為8篇,共50個基礎知識。
■ 基礎篇:這是百分比最大的篇章,雖然名為基礎篇,但你應該了解為是進階裡面的基礎知識,而非Android開發入門的基礎知識。本篇主要包含Android View、動畫、Support Library、Gradle、NDK、ANR、非同步技術、註釋、資料序列化和Hybrid 等知識點。
■ 系統架構篇:本篇偏重介紹架構和專案整體的相關知識,主要包含 UI架構、事件匯流排、程式開發標準和技術堆疊等基礎知識。
■ 經驗歸納篇:本篇偏重介紹 Android專案實作中得出的經驗,主要包含64K方法數限制、外掛程式架構、發送原理、APP瘦身、Crash統計等基礎知識。
■ 新技術篇:本篇偏重介紹新近出現的技術點,當然可能本書出版時已經不是最新了,但並不妨礙其重要性,主要包含函數式程式設計思想簡介、依賴植入、Kotlin、React Native、線上熱修復、AOP和Facebook Buck等基礎知識。
■ 效能最佳化篇:本篇偏重介紹目前 Android平台常見的效能最佳化相關知識,主要包含程式最佳化、圖片最佳化、電量最佳化、版面配置最佳化和網路最佳化等基礎知識。
■ 移動安全篇:本篇偏重介紹很多應用中經常會忽略的安全知識,主要包含混淆、反編譯、金鑰隱藏、強化和如何撰寫安全的程式等基礎知識。
■ 工具篇:本篇介紹了Android開發中會用到的幾個工具,主要包含 Android Studio、Stetho、LeakCanary和Redex等基礎知識。
■ 測試篇:本篇介紹了測試相關的知識,這部分是很多開發人員經常容易忽略的內容,本質上屬於測試領域,但開發人員需要有所了解,主要包含Android單元測試、UI自動化測試、靜態程式分析和自動化建置等工具。

◎ 讀者對象
本書的適合讀者群如下。
■ Android應用研發專案師
■ 電腦相關科系的學生

✤ 致謝
感謝董英編輯找到我並建議我出一本關於Android開發相關的圖書,不然也不會有這本書的存在;感謝妻子戀戀對我的寫作和生活的鼓勵和陪伴;感謝父母和老師對我的培養;感謝我曾經就職的公司:華為、百度、平安科技,以及現在所在的平安金融科技;感謝華為PTN、華為發送、百度文函數庫、百度導覽、百度
坐計程車、Hyperion、任意門、銀行一賬通等專案的兄弟姐妹們,是過往的這些公司和團隊磨礪了我。

◎ 勘誤與互動
讀者如果發現本書文字、程式和圖片等資訊存在錯誤或紕漏,歡迎回饋給我。對書中內容或Android應用程式開發中有什麼疑問,也可以與我互動,我會定期發佈本書的勘誤資訊,並解答大家的疑問。我的相關資訊如下:
GitHub:https://github.com/ASCE1885

活動