❑ 相較一般學習用書,本書更像是一本「Cookbook」,當讀者欲知某項工具如何使用時,皆可「查找相關問題點」直接學習。
❑ 以mac OS作為操作範例,Android Studio在不同作業系統上操作差異不大,對於mac OS/Windows/Linux則以快速鍵加以區分。
❑ 絕大多數操作技巧同樣適用於IntelliJ IDEA。
適用:Android 開發初學者;想從 Eclipse 轉到Android Studio;欲深入瞭解 Android Studio、IntelliJ IDEA;Android 開發測試的相關從業人員。
本書特色
√全書幾乎囊括 Android Studio所有的實用功能與操作技巧。
√以通俗易懂的語言詳述工具及使用技巧,並輔以實例說明,讓讀者能夠輕鬆上手。
√全書以近「1500張圖片」描述如何使用Android Studio,可謂達到真正的「圖文並茂」。
√以「解決問題」為目的, 專注於「操作技巧」的說明,確切幫助讀者實際解決問題。
作者簡介:
畢小朋
CSDN 部落格專家,熟悉 Android 開發與測試,所編寫的《Android Studio實用指南》電子書持續暢銷,備受讀者推崇,獲得百度閱讀的鼎力推薦。
作者序
前言
人總是在不斷地探索和嘗試,總是發明出一些新的科技來改善我們的生活。為了風雨無阻,人類發明了汽車,為了自由翱翔,人類發明了飛機。人們總是朝著更快、更高、更遠的目標奮進。科技的進步讓我們的工作變得更加高效,於是我們有了更多的時間來思考,思考如何使用技術讓這個世界變得更加美好。
如今,行動網際網路正值浪潮之顛,物聯網、大數據、雲端運算、虛擬實境(VR)、擴增實境(AR)等,新技術不斷湧現又將帶來新一輪的巨變,而你我有幸處在這樣一個充滿機遇和創意的時代。作為程式設計師的我們,或行動網際網路產品的開發者,應該要有更多的時間學習和思考,需要把更多的時間和精力放在產品的設計和創新上。那些簡單的、重複的、有規律的、易出錯的編碼和測試工作,都應該由工具來幫我們完成。
Android Studio正是這樣一款Android開發者們夢寐以求的工具,它的誕生就是為了讓Android開發變得更加簡單和高效。
含著金湯勺出生的Android Studio,由於繼承自Intellij IDEA這個號稱目前最好最強最智慧的Java IDE,天然地擁有了智慧和效率上的優勢。加上Google為其量身定做的Android開發工具,讓Android Studio成為了Android專案開發和測試的必備神器。
從2013年5月16日Google在I/O大會上發佈Android Studio 第1個預覽版本開始,到現在2.2版本的發佈。Google對它的增強和最佳化從未間斷過,很多實用的功能被不斷地整合進來,每一次重大的更新都會使開發者歡呼雀躍。我對Android Studio的學習和使用也從未間斷過,感覺它就像一座需要不斷探索和採擷的寶藏,每次不經意地獲得一項新的技能都會讓我讚嘆它的奇妙。
正所謂「聞道有先後,術業有專攻」。我採訪過很多資深的開發人員,他們平日裡更多地會去研究和學習Android開發技術,不會有太多的時間去深入工具的使用。目前市場上關於Android開發的書籍有很多,但是至今還沒有一本專門介紹Android Studio的書,因緣際會,我希望能夠透過這本書把我所學習到的一些實用的工具和技能介紹給大家,讓大家體會到Android Studio的強大和便捷之處。
經過3年的累積,15個月的努力,200多次的修改,1000多位讀者的支援和監督,近70萬字最後得以出版。激動和感激之情無以言表,感謝大家,感謝這個偉大的、一切皆有可能的網際網路時代。
✤本書定位
這不是一本循序漸進的學習書籍,它更像是一本Cookbook,你需要有目的地去閱讀本書。當你遇到問題或想了解某個工具如何使用時,可以直接定位到相關的章節。
本書像是一本非常實用的指導手冊,它幾乎囊括Android Studio所有的實用功能和操作技巧,適合放在讀者的電腦旁經常翻閱。
全書以通俗易懂的語言描述工具和使用技巧,並且每個操作都有實例示範,讓讀者感覺是在跟一個有經驗的人聊天。
全書以近1500張圖片詳細描述Android Studio的使用,是真正的圖文並茂。
本書以解決問題為目的,說明如何使用工具解決實際問題。
專注於操作技巧的說明,對於Android開發的基礎知識略有提及,但不是本書的重點。
本書以macOS上的操作為例進行示範,不同作業系統上Android Studio的操作差異不大,對於快速鍵會區分macOS/Windows/Linux。
本書的大部分操作技巧同樣適用於IntelliJ IDEA。
✤目標讀者
■ 如果你初學Android開發;
■ 如果你想從Eclipse轉到Android Studio;
■ 如果你從其他語言轉到Android開發;
■ 如果你想深入了解Android Studio;
■ 如果你想深入了解IntelliJ IDEA;
■ 如果你從事Android測試開發;
■ 如果你英文不好;
■ 如果你想節省搜索的時間;
■ 如果你想加強工作效率;
那麼本書就是為你量身定做的!
✤ 讀者須知
關於開發環境:
■ 本書適用於macOS/Windows/Linux作業系統,主要以macOS來示範。
■ 本書以JDK1.7為例介紹如何設定開發環境,如果你使用的是Android Studio 2.2及以上版本,需要設定JDK1.8。
■ 由於Android Studio介面變化太快,因此本書中有些圖片可能是舊版本的介面,但是絲毫不會影響了解和閱讀。
關於快速鍵:
■ 本書所有操作實例均使用Android Studio預設快速鍵。
■ 書中所有快速鍵都包含macOS、Windows、Linux。
■ macOS快速鍵(F1~F12)使用時都需要同時按下Fn鍵。
✤ 勘誤與回饋
本書已經盡可能全面地轉換了目前最新的2.2版本,但是由於IntelliJ IDEA在持續更新,Android Studio也在持續更新,再加上筆者能力有限,書中難免會有遺漏、了解錯誤或表達不清晰的地方。如果你在閱讀本書時發現了這些問題,請發郵件(wirelessqa@163.com)或直接傳送BUG到Github:https://github.com/bxiaopeng/AndroidStudio/issues。
本書的所有勘誤及版本轉換都會更新在Github上。
✤ 致謝
好多次,在出門前,兒子都會問「爸爸,你跟我們一起去嗎?」或問「爸爸,你去哪裡?」媽媽會搶著說「爸爸加班,晚上陪你玩」。現在兒子已經快3歲了,有時候會問「爸爸怎麼老是加班啊」,我總是說「因為爸爸忙啊」。
寫書不是一件輕鬆的事情,這本書幾乎用掉了我所有的休息時間。每個禮拜天我都會雷打不動地在星巴克寫啊寫,如果沒有家人的了解和支援,沒有老婆和兒子莫大的支援和鼓勵,我是無法完成這本書的,感謝他們的付出。
感謝樓主、友哥、猴哥、煒哥、戰老師對本書的校對,他們都是非常資深的Android開發工程師,感謝他們對本書提出的修改建議。
感謝已經買了電子書的1000多位讀者,他們見證了這本書的的成長,沒有他們的支援和鼓勵,我也沒有信心出版這本書。
感謝所有的讀者,感謝你對本書的關注。
前言
人總是在不斷地探索和嘗試,總是發明出一些新的科技來改善我們的生活。為了風雨無阻,人類發明了汽車,為了自由翱翔,人類發明了飛機。人們總是朝著更快、更高、更遠的目標奮進。科技的進步讓我們的工作變得更加高效,於是我們有了更多的時間來思考,思考如何使用技術讓這個世界變得更加美好。
如今,行動網際網路正值浪潮之顛,物聯網、大數據、雲端運算、虛擬實境(VR)、擴增實境(AR)等,新技術不斷湧現又將帶來新一輪的巨變,而你我有幸處在這樣一個充滿機遇和創意的時代。作為程式設計師的我們,或行動網際網路產品的開發者...
目錄
前言
chapter 01 Android Studio
1.1 什麼是Android Studio
1.2 Android Studio的特點
1.3 macOS環境設定
1.4 Windows環境設定
1.5 Linux環境設定
1.6 認識歡迎介面
1.7 認識設定介面
1.8 說明和教學
1.9 更新Android Studio版本
1.10 設定Android Studio更新通道
1.11 在Android Studio中使用代理
1.12 認識偏好設定
1.13 認識工作環境
1.14 認識工具視窗
chapter 02 專案與模組
2.1 Android Studio的專案結構
2.2 匯入專案和模組
2.3 建立專案和模組
2.4 刪除模組
2.5 增加so檔案
2.6 建立類別和檔案
2.7 建立Activity
2.8 建立Fragment檔案
2.9 建立Service檔案
2.10 建立自定義元件
2.11 建立App Widget
2.12 建立可編譯的資源檔
2.13 建立不同解析度的圖示
2.14 建立向量圖
2.15 建立AIDL檔案
2.16 建立Android資料夾
2.17 建立Resource Bundle檔案
chapter 03 版面配置
3.1 認識版面配置
3.2 設計版面配置
3.3 元件列表
3.4 預覽
3.5 結構樹
3.6 屬性
3.7 工具列
chapter 04 管理
4.1 專案視窗
4.2 專案管理
4.3 檔案管理
4.4 Android Studio管理
4.5 我的最愛
4.6 TODO
chapter 05 編輯
5.1 取消/重做/剪下/複製/貼上
5.2 複製技巧
5.3 合併兩行內容
5.4 選擇技巧
5.5 縮排設定
5.6 自動補全目前的敘述
5.7 一鍵切換大小寫字母
5.8 尋找工具列
5.9 在尋找結果中跳躍
5.10 選擇尋找結果
5.11 指定尋找路徑
5.12 替換
5.13 指定取代路徑
5.14 在結構中尋找和取代
5.15 尋找用法
5.16 設定尋找用法的過程和範圍
5.17 顯示用法
5.18 檢視在目前檔案中的用法
5.19 在檔案中反白顯示字元
5.20 最近尋找
5.21 Macros (巨集)
chapter 06 視圖
6.1 工具視窗
6.2 工作環境管理
6.3 檢視定義
6.4 檢視同胞元素
6.5 檢視文件
6.6 檢視方法的參數資訊
6.7 檢視運算式的類型
6.8 檢視上下文資訊
6.9 檢視原始程式
6.10 檢視最近開啟過的檔案
6.11 檢視最近改動過的檔案
6.12 檢視最近的改動
6.13 比較任意檔案
6.14 將選取的檔案和正在編輯的檔案進行比較
6.15 將選取的檔案和剪下板上的內容進行比較
6.16 切換編輯器配色方案
6.17 切換程式風格
6.18 切換鍵盤對映
6.19 快速切換視圖模式
6.20 快速切換主題
6.21 設定編輯器是否顯示空格
6.22 設定編輯器是否顯示行號
6.23 設定編輯器是否顯示縮排精靈
6.24 設定編輯器是否使用自動換行
6.25 設定編輯器是否出現匯入提示
6.26 使用示範模式
6.27 使用免打擾模式
6.28 使用全螢幕模式
chapter 07 導覽
7.1 搜索並開啟類別檔案
7.2 搜索並開啟某個檔案
7.3 搜索並開啟某個檔案或方法
7.4 使用自訂程式區塊
7.5 快速跳躍到某一行程式
7.6 快速跳躍到游標的歷史位置
7.7 快速跳躍到編輯過的歷史位置
7.8 標記書籤
7.9 使用快速鍵標記書籤
7.10 管理書籤
7.11 快速跳躍到導覽列
7.12 快速跳躍到宣告
7.13 快速跳躍到實現
7.14 快速跳躍到類型宣告
7.15 快速跳躍到父類別
7.16 類別和測試類別之間快速跳躍
7.17 檢視相連結的檔案
7.18 檢視檔案結構
7.19 檢視類別的層次結構圖
7.20 檢視方法類型的層次結構
7.21 檢視方法呼叫層次結構
7.22 快速跳躍到錯誤程式的位置
7.23 在方法間前後跳躍
7.24 使用翻頁功能
7.25 選擇目前檔案在哪裡顯示
7.26 游標快速跳躍到編輯器
7.27 游標快速跳躍到表頭/頁尾
chapter 08 程式設計
8.1 覆載或實現方法
8.2 實現介面方法
8.3 實現代理方法
8.4 產生建置函數
8.5 產生Getter和Setter方法
8.6 覆載equals和hashcode方法
8.7 覆載toString方法
8.8 插入版權資訊
8.9 分析或刪除程式
8.10 自動補全提示
8.11 程式補全
8.12 補全循環擴充詞
8.13 展開或折疊程式
8.14 插入程式範本
8.15 使用程式範本包裹程式
8.16 檢視和編輯程式範本
8.17 使用常用程式範本包裹程式
8.18 註釋程式
8.19 格式化程式
8.20 自動縮排行
8.21 最佳化匯入
8.22 重新排列程式
8.23 移動一段程式
8.24 移動一行程式
8.25 操作意圖提示
8.26 正規表示法操作意圖提示
chapter 09 檢查
9.1 程式檢查工具
9.2 更加了解Lint
9.3 執行一次程式檢查
9.4 指定檢查範圍
9.5 程式檢查結果及輔助工具
9.6 詳解程式檢查結果輔助工具
9.7 禁用和啟用某項檢查
9.8 忽略檢查
9.9 在指定範圍內執行某項檢查
9.10 解決檢查出的問題
9.11 管理程式檢查設定檔
9.12 設定程式檢查規則
9.13 Android類別目的所有檢查項
9.14 Android Lint類別目的檢查項
9.15 在lint.xml檔案中設定Lint檢查
9.16 在Gradle中設定Lint檢查
9.17 使用Gradle執行Lint檢查
9.18 在Java和XML原始程式中設定Lint檢查
9.19 程式清理
9.20 透過名字來指定程式檢查項
9.21 設定目前檔案自動檢查的規則
9.22 匯入並檢視離線檢查結果
9.23 自動增加是否可為空註釋
9.24 分析依賴
9.25 分析反向依賴
9.26 分析模組依賴
9.27 分析循環依賴
9.28 分析資料流程
9.29 分析堆疊資訊
chapter 10 重構
10.1 重新命名
10.2 更改方法簽名
10.3 移轉變數類型
10.4 轉成靜態方法
10.5 靜態方法轉為實例方法
10.6 移動類別
10.7 移動靜態方法
10.8 移動靜態欄位
10.9 複製
10.10 安全刪除
10.11 分析變數
10.12 分析常數
10.13 分析欄位
10.14 分析參數
10.15 分析函數式參數
10.16 分析參數物件
10.17 分析方法
10.18 分析方法物件
10.19 分析委派
10.20 分析介面
10.21 分析父類別
10.22 內聯方法
10.23 內聯臨時變數
10.24 尋找並取代重複程式
10.25 反轉布林值
10.26 把成員拉到父類別
10.27 把成員推到子類別
10.28 盡可能使用介面
10.29 使用委派取代繼承
10.30 移除中間人
10.31 包裝方法傳回值
10.32 將匿名類別轉成內部類別
10.33 封裝欄位
10.34 使用查詢取代臨時變數
10.35 使用工廠方法取代建置方法
10.36 使用建置元取代建置方法
10.37 泛型化
10.38 國際化
chapter 11 構建
11.1 認識Gradle
11.2 設定Gradle環境
11.3 Gradle Wrapper
11.4 檢視和執行Gradle工作
11.5 建置專案和模組
11.6 Gradle Script
11.7 在專案結構中設定模組建置
11.8 簽名和包裝
11.9 設定開發者服務
chapter 12 執行和偵錯
12.1 執行和偵錯設定
12.2 執行應用程式
12.3 偵錯應用程式
12.4 中斷點
12.5 頁框偵錯視窗
12.6 變數偵錯視窗
12.7 監看視窗
12.8 偵錯控制工具
12.9 步進偵錯工具
12.10 計算運算式
12.11 連結偵錯到Android處理程序
12.12 設定和執行單元測試
chapter 13 工具
13.1 任務
13.2 JavaDoc
13.3 將目前檔案儲存為範本
13.4 IDE Scripting Console
13.5 管理Android SDK
13.6 管理Android模擬器
13.7 即時執行
13.8 Android監視器
13.9 截圖
13.10 錄影
13.11 捕捉系統資訊
13.12 版面配置解析
13.13 Logcat監視器
13.14 記憶體監視器
13.15 CPU監視器
13.16 網路監視器
13.17 GPU監視器
13.18 APK分析器
13.19 主題編輯器
chapter 14 版本控制
14.1 版本控制系統
14.2 Git偏好設定
14.3 設定GitHub帳戶資訊
14.4 從GitHub複製程式
14.5 將本機專案共用到GitHub
14.6 檢視本機變更歷史
14.7 Git增加檔案
14.8 Git傳送變更
14.9 Git檔案逐行追溯
14.10 顯示目前修訂版本
14.11 Git檔案比較
14.12 Git取消操作
14.13 Git版本回復
14.14 Git檢視傳送歷史
14.15 Git分支管理
14.16 Git建立標籤
14.17 Git合併分支
14.18 解決Git合併中的衝突
14.19 Git使用Rebase合併分支
14.20 Git暫存/恢復暫存變更
14.21 Git取得最新內容
14.22 Git合併最新內容
14.23 Git更新專案
14.24 更新檔案狀態
14.25 Git更新
14.26 Git擱置變更
14.27 檢視Git專案的傳送資訊
chapter 15 視窗
15.1 最小化和最大化視窗
15.2 儲存和恢復視窗版面配置
15.3 工具視窗的顯示和隱藏
15.4 工具視窗的隱藏技巧
15.5 工具視窗調整技巧
15.6 移動工具視窗的位置
15.7 工具視窗的檢視模式
15.8 編輯器標籤設定
15.9 快速切換編輯器標籤
15.10 關閉編輯器標籤
15.11 管理編輯器標籤
15.12 標籤顯示位置
15.13 拆分編輯器視窗
15.14 多個專案之間切換
chapter 16 偏好設定
16.1 外觀與行為
16.2 系統設定
16.3 鍵盤對映
16.4 編輯器正常設定
16.5 設定自動匯入
16.6 編輯器外觀
16.7 程式補全
16.8 檔案標籤
16.9 編輯器顏色
16.10 程式風格
16.11 檔案和程式範本
16.12 外掛
16.13 編譯和建置
app A 附錄
A-1 Android Studio重要版本發佈時間線
A-2 參考資料
前言
chapter 01 Android Studio
1.1 什麼是Android Studio
1.2 Android Studio的特點
1.3 macOS環境設定
1.4 Windows環境設定
1.5 Linux環境設定
1.6 認識歡迎介面
1.7 認識設定介面
1.8 說明和教學
1.9 更新Android Studio版本
1.10 設定Android Studio更新通道
1.11 在Android Studio中使用代理
1.12 認識偏好設定
1.13 認識工作環境
1.14 認識工具視窗
chapter 02 專案與模組
2.1 Android Studio的專案結構
2.2 匯入專案和模組
2.3 建立專案和模組
2.4 刪除模組
2.5 增加so檔案
2.6 建立類別和檔案...