注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁出版圖書科學(xué)技術(shù)計(jì)算機(jī)/網(wǎng)絡(luò)計(jì)算機(jī)組織與體系結(jié)構(gòu)Android高級進(jìn)階

Android高級進(jìn)階

Android高級進(jìn)階

定 價(jià):¥89.00

作 者: 顧浩鑫 著
出版社: 電子工業(yè)出版社
叢編項(xiàng):
標(biāo) 簽: 計(jì)算機(jī)?網(wǎng)絡(luò) 計(jì)算機(jī)體系結(jié)構(gòu)

ISBN: 9787121298455 出版時(shí)間: 2016-10-01 包裝: 平裝
開本: 16開 頁數(shù): 536 字?jǐn)?shù):  

內(nèi)容簡介

  《Android高級進(jìn)階》是Android的進(jìn)階學(xué)習(xí)指南,主要為Android初中級開發(fā)者進(jìn)階所需的知識,高級開發(fā)者也可以從本書中發(fā)現(xiàn)很多共鳴點(diǎn)?!禔ndroid高級進(jìn)階》從8個(gè)方面對50個(gè)知識點(diǎn)進(jìn)行分類講解,包括基礎(chǔ)篇、系統(tǒng)架構(gòu)篇、經(jīng)驗(yàn)總結(jié)篇、新技術(shù)篇、性能優(yōu)化篇、移動(dòng)安全篇、工具篇、測試篇。熟練掌握這些知識點(diǎn)后,應(yīng)該就能夠應(yīng)付實(shí)際項(xiàng)目開發(fā)中的絕大部分問題了。 《Android高級進(jìn)階》的主要目的在于給讀者一個(gè)完整的Android中高級開發(fā)者知識圖譜。筆者希望通過《Android高級進(jìn)階》的系統(tǒng)講解,能夠幫助讀者在面試和工作中收獲自己滿意的成績。

作者簡介

  顧浩鑫,網(wǎng)絡(luò) ID:ASCE1885,平安金融科技移動(dòng)研發(fā)工程師,目前主要從事 Android & React Native 相關(guān)研發(fā)工作,畢業(yè)于華中科技大學(xué)圖像識別與人工智能研究所,曾先后就職于華為、百度、平安科技。,

圖書目錄

第1篇 基礎(chǔ)篇
第1章 Android觸摸事件傳遞機(jī)制
1.1 觸摸事件的類型
1.2 事件傳遞的三個(gè)階段
1.3 View的事件傳遞機(jī)制
1.4 ViewGroup的事件傳遞機(jī)制
第2章 Android View的繪制流程
2.1 繪制的整體流程
2.2 MeasureSpec
2.3 Measure
2.4 Layout
2.5 Draw
第3章 Android 動(dòng)畫機(jī)制
3.1 逐幀動(dòng)畫(Frame Animation)
3.1.1 XML 資源文件方式
3.1.2 代碼方式
3.2 補(bǔ)間動(dòng)畫(Tween Animation)
3.2.1 插值器 Interpolator
3.2.2 AlphaAnimation
3.2.3 ScaleAnimation
3.2.4 TranslateAnimation
3.2.5 RotateAnimation
3.2.6 自定義補(bǔ)間動(dòng)畫
3.3 屬性動(dòng)畫(Property Animation)
3.3.1 Evaluator
3.3.2 AnimatorSet
3.3.3 ValueAnimator
3.3.4 ObjectAnimator
3.4 過渡動(dòng)畫(Transition Animation)
第4章 Support Annotation Library 使用詳解
4.1 Nullness 注解
4.2 資源類型注解
4.3 類型定義注解
4.4 線程注解
4.5 RGB 顏色值注解
4.6 值范圍注解
4.7 權(quán)限注解
4.8 重寫函數(shù)注解
4.9 返回值注解
4.10 @VisibleForTesting
4.11 @Keep
第5章 Percent Support Library使用詳解
第6章 Design Support Library使用詳解
6.1 Snackbar
6.2 TextInputLayout
6.3 TabLayout
6.4 NavigationView
6.4.1 導(dǎo)航菜單
6.4.2 導(dǎo)航頭部
6.5 FloatingActionButton
6.5.1 使用浮動(dòng)操作按鈕
6.5.2 其他選項(xiàng)
6.5.3 點(diǎn)擊事件
6.6 CoordinatorLayout
6.7 CollapsingToolbarLayout
6.8 BottomSheetBehavior
第7章 Android Studio中的NDK開發(fā)
7.1 ABI的基本概念
7.2 引入預(yù)編譯的二進(jìn)制 C/C++ 函數(shù)庫
7.3 直接從 C/C++ 源碼編譯
7.3.1 配置 ndk.dir 變量
7.3.2 在 Gradle 中配置 NDK 模塊
7.3.3 添加 C/C++ 文件到指定的目錄
7.4 使用 .so 文件的注意事項(xiàng)
7.4.1 使用高平臺(tái)版本編譯的 .so 文件運(yùn)行在低版本的設(shè)備上
7.4.2 混合使用不同的C++ 運(yùn)行時(shí)編譯的 .so 文件
7.4.3 沒有為每個(gè)支持的 CPU 架構(gòu)提供對應(yīng)的 .so 文件
7.4.4 將 .so 文件放在錯(cuò)誤的地方
7.4.5 只提供 armeabi 架構(gòu)的 .so 文件而忽略其他 ABIs 的
第8章 Gradle 必知必會(huì)
8.1 共享變量的定義
8.2 通用配置
8.3 aar 函數(shù)庫的引用
8.4 簽名和混淆的配置
第9章 通過Gradle打包發(fā)布函數(shù)庫到JCenter和Maven Central
9.1 Maven Central 和 JCenter
9.1.1 Maven Central
9.1.2 JCenter
9.2 Android Studio 獲取函數(shù)庫的原理
9.3 上傳函數(shù)庫到 JCenter
9.3.1 步驟一:在 Bintray 網(wǎng)站上注冊一個(gè)賬號
9.3.2 步驟二:創(chuàng)建一個(gè) Sonatype 賬號
9.3.3 步驟三:在 Bintray 網(wǎng)站使能自動(dòng)簽名
9.3.4 步驟四:生成 POM 相關(guān)的信息
9.3.5 步驟五:上傳函數(shù)庫到 Bintray
9.3.6 步驟六:發(fā)布 Bintray 用戶倉庫到 JCenter
9.3.7 步驟七:同步函數(shù)庫到 Maven Central
第10章 Builder模式詳解
10.1 經(jīng)典的 Builder 模式
10.2 Builder 模式的變種
10.3 變種 Builder 模式的自動(dòng)化生成
10.4 開源函數(shù)庫的例子
第11章 注解在 Android 中的應(yīng)用
11.1 注解的定義
11.2 標(biāo)準(zhǔn)注解
11.2.1 編譯相關(guān)注解
11.2.2 資源相關(guān)注解
11.2.3 元注解
11.3 運(yùn)行時(shí)注解
11.4 編譯時(shí)注解
11.4.1 定義注解處理器
11.4.2 注冊注解處理器
11.4.3 android-apt插件
第12章 ANR產(chǎn)生的原因及其定位分析
12.1 ANR 產(chǎn)生的原因
12.2 典型的 ANR 問題場景
12.3 ANR 的定位和分析
12.3.1 Logcat 日志信息
12.3.2 traces.txt 日志信息
12.4 ANR的避免和檢測
12.4.1 StrictMode
12.4.2 BlockCanary
第13章 Android異步處理技術(shù)
13.1 Thread
13.2 HandlerThread
13.3 AsyncQueryHandler
13.4 IntentService
13.5 Executor Framework
13.6 AsyncTask
13.7 Loader
13.8 總結(jié)
第14章 Android數(shù)據(jù)序列化方案研究
14.1 Serializable
14.2 Parcelable
14.3 SQLiteDatabase
14.4 SharedPreferences
14.5 JSON
14.6 Protocol Buffers及Nano-Proto-Buffers
14.7 FlatBuffers
第15章 Android WebView Java 和 JavaScript 交互詳解
15.1 Java 調(diào)用 JavaScript
15.2 JavaScript 調(diào)用 Java
第2篇 系統(tǒng)架構(gòu)篇
第16章 MVP模式及其在Android中的實(shí)踐
16.1 MVP 的基本概念
16.2 MVP 與 MVC 的區(qū)別
16.3 MVP 的開源實(shí)現(xiàn)
16.3.1 Android-Architecture
16.3.2 TODO-MVP
16.3.3 TODO-MVP-Loaders
16.3.4 TODO-MVP-Clean
16.3.5 TODO-Databinding
16.3.6 其他開源參考實(shí)現(xiàn)
16.4 MVP 的好處
16.5 MVP 存在的問題
第17章 MVVM模式及Android DataBinding實(shí)戰(zhàn)
17.1 Data Binding 表達(dá)式
17.2 數(shù)據(jù)對象
17.3 數(shù)據(jù)綁定
17.4 事件綁定
第18章 觀察者模式的拓展:事件總線
18.1 為何要使用
18.2 原理
18.3 開源實(shí)現(xiàn)
18.3.1 EventBus
18.3.2 otto
18.4 與觀察者模式及 Android 廣播的區(qū)別
第19章 書寫簡潔規(guī)范的代碼
19.1 Java 編碼規(guī)范
19.1.1 源代碼文件的定義
19.1.2 源代碼文件的結(jié)構(gòu)
19.1.3 遵循的格式
19.1.4 命名約定
19.1.5 Javadoc
19.2 Android 命名規(guī)范
19.2.1 布局文件的命名
19.2.2 資源文件的命名
19.2.3 類的命名
19.3 CheckStyle 的使用
第20章 基于開源項(xiàng)目搭建屬于自己的技術(shù)堆棧
20.1 APP 的整體架構(gòu)
20.2 技術(shù)選型的考量點(diǎn)
20.3 日志記錄能力
20.4 JSON 解析能力
20.4.1 gson
20.4.2 jackson
20.4.3 Fastjson
20.4.4 LoganSquare
20.5 數(shù)據(jù)庫操作能力
20.5.1 ActiveAndroid
20.5.2 ormlite
20.5.3 greenDAO
20.5.4 Realm
20.6 網(wǎng)絡(luò)通信能力
20.6.1 android-async-http
20.6.2 OkHttp
20.6.3 Volley
20.6.4 Retrofit
20.7 圖片緩存和顯示能力
20.7.1 BitmapFun
20.7.2 Picasso
20.7.3 Glide
20.7.4 Fresco
20.7.5 Android-Universal-Image-Loader
第3篇 經(jīng)驗(yàn)總結(jié)篇
第21章 64K方法數(shù)限制原理與解決方案
21.1 64K 限制的原因
21.2 使用 MultiDex 解決 64K 限制的問題
21.2.1 Android 5.0 之前的版本
21.2.2 Android 5.0 及之后的版本
21.3 如何避免出現(xiàn) 64K 限制
21.4 配置 MultiDex
21.5 MultiDex Support Library 的局限性
21.6 在開發(fā)階段優(yōu)化 MultiDex 的構(gòu)建
第22章 Android 插件框架機(jī)制研究與實(shí)踐
22.1 基本概念
22.1.1 宿主和插件
22.1.2 ClassLoader 機(jī)制
22.2 開源框架
22.2.1 android-pluginmgr
22.2.2 dynamic-load-apk
22.2.3 DynamicAPK
22.2.4 DroidPlugin
22.2.5 Small

第23章 推送機(jī)制實(shí)現(xiàn)原理詳解
23.1 推送的開源實(shí)現(xiàn)方案
23.1.1 基于 XMPP 協(xié)議
23.1.2 基于 MQTT 協(xié)議
23.2 推送的第三方平臺(tái)
23.3 自己實(shí)現(xiàn)推送功能
23.3.1 長連接的建立(TCPConnectThread)
23.3.2 數(shù)據(jù)的發(fā)送(TCPSendThread)
23.3.3 數(shù)據(jù)的接收(TCPReceiveThread)
23.3.4 心跳包的實(shí)現(xiàn)(TCPHeartBeatThread)
第24章 APP 瘦身經(jīng)驗(yàn)總結(jié)
24.1 APP 為什么變胖了
24.2 從 APK 文件的結(jié)構(gòu)說起
24.3 優(yōu)化圖片資源占用的空間
24.3.1 無損壓縮 [ImageOptim]
24.3.2 有損壓縮 [ImageAlpha]
24.3.3 有損壓縮 [TinyPNG]
24.3.4 PNG/JPEG 轉(zhuǎn)換為 WebP
24.3.5 盡量使用 NinePatch 格式的 PNG 圖
24.4 使用 Lint 刪除無用資源
24.5 利用 Android Gradle 配置
24.5.1 minifyEnable
24.5.2 shrinkResources
24.5.3 resConfigs
24.5.4 ndk.a(chǎn)biFilters
24.6 重構(gòu)和優(yōu)化代碼
24.7 資源混淆
24.8 插件化
第25章 Android Crash 日志收集原理與實(shí)踐
25.1 Java 層 Crash 捕獲機(jī)制
25.1.1 基本原理
25.1.2 線程信息
25.1.3 SharedPreference 信息
25.1.4 系統(tǒng)設(shè)置
21.1.5 Logcat 中的日志記錄
25.1.6 自定義 Log 文件中的內(nèi)容
25.1.7 MemInfo 信息

25.2 Native 層 Crash 捕獲機(jī)制
25.3 Crash 的上報(bào)
第4篇 新技術(shù)篇
第26章 函數(shù)式編程思想及其在Android中的應(yīng)用
26.1 代碼的簡化
26.2 Operators 簡介
第27章 依賴注入及其在Android中的應(yīng)用
27.1 基本概念
27.1.1 構(gòu)造函數(shù)注入
27.1.2 Setter 函數(shù)注入
27.1.3 接口注入
27.2 為何需要框架
27.3 開源框架的選擇
27.3.1 ButterKnife
27.3.2 RoboGuice
27.3.3 Dagger
27.3.4 Dagger2
27.3.5 框架的對比
第28章 Android世界的Swift:Kotlin在Android中的應(yīng)用
28.1 選擇 Kotlin 的原因
28.2 Kotlin 的安裝和配置
28.3 Kotlin 語言的特性
28.3.1 可表達(dá)性
28.3.2 空類型安全
28.3.3 擴(kuò)展函數(shù)
28.4 Kotlin 的 Gradle 配置
28.5 將 Java 類轉(zhuǎn)換成 Kotlin 類
28.6 相關(guān)資料
第29章 React Native For Android入門指南
29.1 環(huán)境配置
29.1.1 Homebrew
29.1.2 nvm
29.1.3 Node.js
29.1.4 watchman
29.1.5 flow
29.2 Android 開發(fā)環(huán)境的要求
29.3 React Native 工程配置
29.3.1 安裝react-native
29.3.2 生成工程
29.4 Android Studio 工程概覽
29.5 React Native 依賴庫修改為本地
29.5.1 下載 react-native.a(chǎn)ar
29.5.2 react-native.a(chǎn)ar 的文件內(nèi)容
29.5.3 Gradle 本地依賴
29.5.4 將 node_modules 上傳到 svn/git
29.6 React Native 學(xué)習(xí)建議
第30章 Android在線熱修復(fù)方案研究
30.1 在線熱修復(fù)的基本流程
30.2 Dexposed
30.2.1 如何集成
30.2.2 基本用法
30.2.3 在線熱修復(fù)
30.2.4 平臺(tái)的限制
30.3 AndFix
30.3.1 如何集成
30.3.2 補(bǔ)丁包生成工具
30.3.3 平臺(tái)的限制
30.4 Nuwa
30.4.1 基本原理
30.4.2 如何集成
30.4.3 補(bǔ)丁生成工具
30.4.4 平臺(tái)的限制
30.5 總結(jié)
第31章 面向切面編程及其在Android中的應(yīng)用
31.1 AOP 的基本概念
31.2 代碼織入的時(shí)機(jī)
31.3 基于 AspectJ 實(shí)現(xiàn) Android 平臺(tái)的 AOP
31.3.1 Hugo 的用法簡介
31.3.2 Hugo 的實(shí)現(xiàn)原理
31.4 其他 AOP 開源框架
第32章 基于Facebook Buck改造Android構(gòu)建系統(tǒng)
32.1 Buck環(huán)境配置
32.1.1 Homebrew 方式
32.1.2 手動(dòng)構(gòu)建方式
32.1.3 安裝 Watchman
32.1.4 安裝 Android SDK 和 Android NDK
32.2 快速創(chuàng)建基于 Buck 構(gòu)建的 Android 工程
32.3 Buck 的基本概念
32.3.1 構(gòu)建規(guī)則(Build Rule)
32.3.2 構(gòu)建目標(biāo)(Build Target)
32.3.3 構(gòu)建文件(Build File)
32.3.4 構(gòu)建目標(biāo)模式(Build Target Pattern)
32.4 項(xiàng)目改造實(shí)戰(zhàn)
32.4.1 步驟一:手動(dòng)下載工程依賴的第三方 Jar包或者aar包
32.4.2 步驟二:將 R.* 常量修改為非 final 的
32.4.3 步驟三:創(chuàng)建 BUCK 文件
32.4.4 步驟四:編譯 Buck 的 buck-android-support
32.4.5 步驟五:Exopackage 的使用
32.5 Buck 的自動(dòng)化改造
第5篇 性能優(yōu)化篇
第33章 代碼優(yōu)化
33.1 數(shù)據(jù)結(jié)構(gòu)的選擇
33.2 Handler 和內(nèi)部類的正確用法
33.3 正確地使用 Context
33.3.1 Context 的種類
33.3.2 錯(cuò)誤使用 Context 導(dǎo)致的內(nèi)存泄漏
33.3.3 不同 Context 的對比
33.4 掌握 Java 的四種引用方式
33.5 其他代碼微優(yōu)化
33.5.1 避免創(chuàng)建非必要的對象
33.5.2 對常量使用 static final 修飾
33.5.3 避免內(nèi)部的 Getters/Setters
33.5.4 代碼的重構(gòu)
第34章 圖片優(yōu)化
34.1 圖片的格式
34.1.1 JPEG
34.1.2 PNG
34.1.3 GIF
34.1.4 WebP
34.2 圖片的壓縮
34.2.1 無損壓縮 ImageOptim
34.2.2 有損壓縮 ImageAlpha
34.2.3 有損壓縮 TinyPNG
34.2.4 PNG/JPEG 轉(zhuǎn)換為 WebP
34.2.5 盡量使用 NinePatch 格式的 PNG 圖
34.3 圖片的緩存
第35章 電量優(yōu)化
35.1 BroadcastReceiver
35.2 數(shù)據(jù)傳輸
35.3 位置服務(wù)
35.4 AlarmManager
35.5 WakeLock
第36章 布局優(yōu)化
36.1 include 標(biāo)簽共享布局
36.2 ViewStub 標(biāo)簽實(shí)現(xiàn)延遲加載
36.3 merge 標(biāo)簽減少布局層次
36.4 盡量使用 CompoundDrawable
36.5 使用 Lint
第37章 網(wǎng)絡(luò)優(yōu)化
37.1 避免 DNS 解析
37.2 合并網(wǎng)絡(luò)請求
37.3 預(yù)先獲取數(shù)據(jù)
37.4 避免輪詢
37.5 優(yōu)化重連機(jī)制
37.6 離線緩存
37.7 壓縮數(shù)據(jù)大小
37.8 不同的網(wǎng)絡(luò)環(huán)境使用不同的超時(shí)策略
37.9 CDN 的使用
第6篇 移動(dòng)安全篇
第38章 Android混淆機(jī)制詳解
38.1 Java 代碼的混淆
38.1.1 Proguard 的特性
38.1.2 Proguard 的使能和配置
38.1.3 proguard-rules.pro 文件的編寫
38.1.4 Proguard 生成的文件
38.1.5 Proguard 混淆規(guī)則匯總
38.2 Native(C/C++) 代碼的混淆
38.3 資源文件的混淆
第39章 Android 反編譯機(jī)制詳解
39.1 資源文件的反編譯
39.1.1 ApkTool 的安裝
39.1.2 ApkTool 的使用
39.2 Java 代碼的反編譯
第40章 客戶端敏感信息隱藏技術(shù)研究
40.1 敏感信息嵌套在 strings.xml 中
40.2 敏感信息隱藏在 Java 源代碼中
40.3 敏感信息隱藏在 BuildConfig 中
40.4 使用 DexGuard
40.5 對敏感信息進(jìn)行偽裝或者加密
40.6 敏感信息隱藏在原生函數(shù)庫中(.so文件)
40.7 對APK進(jìn)行加固處理
第41章 Android 加固技術(shù)研究
41.1 愛加密的主要功能
41.1.1 漏洞分析
41.1.2 加密服務(wù)
41.1.3 渠道監(jiān)測
41.2 常見 APP 漏洞及風(fēng)險(xiǎn)
41.2.1 靜態(tài)破解
41.2.2 二次打包
41.2.3 本地儲(chǔ)存數(shù)據(jù)竊取
41.2.4 界面截取
41.2.5 輸入法攻擊
41.2.6 協(xié)議抓取
41.3 Android 程序反破解技術(shù)
41.3.1 對抗反編譯
41.3.2 對抗靜態(tài)分析
41.3.3 對抗動(dòng)態(tài)調(diào)試
41.3.4 防止重編譯
41.4 加固技術(shù)研究知識儲(chǔ)備
41.4.1 掌握常見的破解分析工具
41.4.2 掌握 Dalvik 指令集代碼
41.4.3 掌握 Dex 和 Odex 文件格式
41.4.4 掌握 Smali 文件格式
41.4.5 掌握基于 Android 的 ARM 匯編語言基礎(chǔ)
第42章 Android安全編碼
42.1 WebView 遠(yuǎn)程代碼執(zhí)行
42.2 WebView 密碼明文保存
42.3 Android 本地拒絕服務(wù)
42.3.1 非法序列化對象導(dǎo)致的 ClassNotFoundException
42.3.2 空 Action 導(dǎo)致的 NullPointerException
42.3.3 強(qiáng)制類型轉(zhuǎn)換導(dǎo)致的 ClassCastException
42.3.4 數(shù)組越界導(dǎo)致的 IndexOutOfBoundsException
42.4 SharedPreference 全局任意讀寫
42.5 密鑰硬編碼
42.6 AES/DES/RSA 弱加密
42.7 隨機(jī)函數(shù)使用錯(cuò)誤
42.8 WebView 忽略 SSL 證書
42.9 HTTPS 證書弱校驗(yàn)
42.9.1 自定義 X509TrustManager 未實(shí)現(xiàn)安全校驗(yàn)
42.9.2 自定義 HostnameVerifier 默認(rèn)接受所有域名
42.9.3 SSLSocketFactory 信任所有證書
42.10 PendingIntent 使用不當(dāng)
第7篇 工具篇
第43章 Android調(diào)試工具Facebook Stetho
43.1 視圖布局監(jiān)視
43.2 數(shù)據(jù)庫監(jiān)視
43.3 網(wǎng)絡(luò)監(jiān)視
43.3.1 網(wǎng)絡(luò)模塊使用的是 HTTPUrlConnection
43.3.2 網(wǎng)絡(luò)模塊使用的是 OkHttp
43.4 dumpapp
43.4.1 插件的編寫
43.4.2 插件的集成
43.4.3 插件的使用
43.5 Javascript 控制臺(tái)
43.6 最佳實(shí)踐
第44章 內(nèi)存泄漏檢測函數(shù)庫 LeakCanary
44.1 基本概念
44.2 LeakCanary 的集成
44.3 LeakCanary 的原理
44.4 LeakCanary 的定制
44.4.1 RefWatcher 的自定義
44.4.2 通知頁面樣式的自定義
44.4.3 內(nèi)存泄漏堆棧信息保存?zhèn)€數(shù)的自定義
44.4.4 Watcher 的延時(shí)
44.4.5 自定義內(nèi)存泄漏堆棧信息和 heap dump 的處理方式
44.4.6 忽略特定的弱引用
44.4.7 不監(jiān)視特定的 Activity 類
第45章 基于Facebook Redex實(shí)現(xiàn)Android APK的壓縮和優(yōu)化
45.1 轉(zhuǎn)換的時(shí)機(jī)
45.2 管道的思想
45.3 減少字節(jié)碼的意義
45.4 混淆和壓縮
45.5 使用內(nèi)聯(lián)函數(shù)
45.6 無用代碼的消除
45.7 Redex 的集成和使用
45.7.1 依賴的安裝
45.7.2 下載,構(gòu)建和安裝
45.7.3 使用
第46章 Android Studio你所需要知道的功能
46.1 Annotate
46.2 .ignore 插件
46.3 Live Templates
46.4 集成 Bug 管理系統(tǒng)
第8篇 測試篇
第47章 Android單元測試框架簡介
47.1 Java 單元測試框架 JUnit
47.2 Android 單元測試框架 Robolectric 3.0
47.3 Java 模擬測試框架 Mockito
47.3.1 行為的驗(yàn)證
47.3.2 Stub(樁函數(shù))的使用
第48章 Android UI自動(dòng)化測試框架簡介
48.1 Monkey
48.2 MonkeyRunner
48.3 UIAutomator
48.4 Robotium
48.5 Espresso
48.6 Appium
第49章 Android靜態(tài)代碼分析實(shí)戰(zhàn)
49.1 Java代碼規(guī)范檢查工具CheckStyle
49.1.1 Gradle方式
49.1.2 Android Studio插件方式
49.2 Java靜態(tài)代碼分析工具FindBugs
49.2.1 Gradle方式
49.2.2 Android Studio插件方式
49.3 Java靜態(tài)代碼分析工具PMD
49.3.1 Gradle方式
49.3.2 Android Studio插件方式
49.4 Android代碼優(yōu)化工具Lint
49.4.1 Gradle方式
49.4.2 Android Studio插件方式
第50章 基于Jenkins+Gradle搭建Android持續(xù)集成編譯環(huán)境
50.1 Tomcat的下載和啟動(dòng)
50.2 Jenkins的下載和運(yùn)行
50.3 Jenkins插件的安裝
50.4 Jenkins全局配置
50.4.1 配置 JDK 環(huán)境
50.4.2 配置 Android SDK 環(huán)境
50.4.3 配置 Git 環(huán)境
50.4.4 配置 SVN 環(huán)境
50.4.5 配置 Gradle 環(huán)境
50.5 JOB相關(guān)的操作
50.5.1 JOB 的創(chuàng)建
50.5.2 JOB 的配置
50.5.3 Gradle 的配置
50.5.4 構(gòu)建觸發(fā)器的配置
50.5.5 參數(shù)化構(gòu)建
50.6 Jenkins預(yù)定義的環(huán)境變量

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) m.ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號