Android Studio 是基于[IntelliJ IDEA](https://link.jianshu.com?t=https://www.jetbrains.com/idea/)的官方 Android 應用開發(fā)集成開發(fā)環(huán)境 (IDE)逐沙。除了 IntelliJ 強大的代碼編輯器和開發(fā)者工具超埋,Android Studio 提供了更多可提高 Android 應用構建效率的功能搏讶,例如:
*基于 Gradle 的靈活構建系統(tǒng)
*快速且功能豐富的模擬器 + 可針對所有 Android 設備進行開發(fā)的統(tǒng)一的環(huán)境
*Instant Run佳鳖,可將變更推送到運行中的應用,無需構建新的 APK
*可幫助您構建常用應用功能和導入示例代碼的代碼模板和 GitHub 集成
*豐富的測試工具和框架
*可捕捉性能媒惕、可用性系吩、版本兼容性以及其他問題的 Lint 工具
*C++ 和 NDK 支持
*內置對Google 云端平臺的支持,可輕松集成 Google Cloud Messaging 和 App 引擎
項目結構
** 圖 1.**Android 視圖中的項目文件:
Android Studio 中的每個項目包含一個或多個含有源代碼文件和資源文件的模塊妒蔚。
模塊類型包括:
*Android 應用模塊
*庫模塊
*Google App 引擎模塊
默認情況下穿挨,Android Studio 會在 Android 項目視圖中顯示您的項目文件,如圖 1 所示肴盏。
該視圖按模塊組織結構科盛,方便您快速訪問項目的關鍵源文件。
所有構建文件在項目層次結構頂層Gradle Scripts下顯示菜皂,且每個應用模塊都包含以下文件夾:
manifests:包含AndroidManifest.xml文件贞绵。
java:包含 Java 源代碼文件,包括 JUnit 測試代碼恍飘。
res:包含所有非代碼資源榨崩,例如 XML 布局、UI 字符串和位圖圖像章母。
磁盤上的 Android 項目結構與此扁平項目結構有所不同母蛛。 要查看實際的項目文件結構,可從Project下拉菜單(在圖 1 中顯示為Android)選擇Project乳怎。
您也可以自定義項目文件的視圖彩郊,重點顯示應用開發(fā)的特定方面: 例如,選擇項目的Problems視圖會顯示指向包含任何已識別編碼和語法錯誤(例如布局文件中缺失一個 XML 元素結束標記)的源文件的鏈接蚪缀。
圖 2.Problems 視圖中的項目文件焦辅,顯示存在問題的布局文件:
如需了解詳細信息,請參閱管理項目椿胯。
用戶界面
Android Studio 主窗口由圖 3 標注的幾個邏輯區(qū)域組成筷登。
圖 3.Android Studio 主窗口:
1、工具欄提供執(zhí)行各種操作的工具哩盲,包括運行應用和啟動 Android 工具前方。
2、導航欄可幫助您在項目中導航廉油,以及打開文件進行編輯惠险。 此區(qū)域提供Project窗口所示結構的精簡視圖。
3抒线、編輯器窗口是創(chuàng)建和修改代碼的區(qū)域班巩。 編輯器可能因當前文件類型的不同而有所差異。 例如嘶炭,在查看布局文件時抱慌,編輯器顯示布局編輯器逊桦。
4、工具窗口提供對特定任務的訪問抑进,例如項目管理强经、搜索和版本控制等。 您可以展開和折疊這些窗口寺渗。
5匿情、狀態(tài)欄顯示項目和 IDE 本身的狀態(tài)以及任何警告或消息。
您可以通過隱藏或移動工具欄和工具窗口調整主窗口信殊,以便留出更多屏幕空間炬称。
您還可以使用鍵盤快捷鍵訪問大多數(shù) IDE 功能。
您可以隨時通過按兩下 Shift 鍵或點擊 Android Studio 窗口右上角的放大鏡搜索源代碼涡拘、數(shù)據(jù)庫转砖、操作和用戶界面的元素等。此功能非常實用鲸伴,例如在您忘記如何觸發(fā)特定 IDE 操作時,可以利用此功能進行查找晋控。
工具窗口
Android Studio 不使用預設窗口汞窗,而是根據(jù)情境在您工作時自動顯示相關工具窗口。
默認情況下赡译,最常用的工具窗口固定在應用窗口邊緣的工具窗口欄上仲吏。
*要展開或折疊工具窗口,請在工具窗口欄中點擊該工具的名稱蝌焚。
*您還可以拖動裹唆、固定、取消固定只洒、關聯(lián)和分離工具窗口许帐。
要返回到當前默認工具窗口布局,請點擊Window > Restore Default Layout或點擊Window > Store Current Layout as Default*自定義默認布局毕谴。
*要顯示或隱藏整個工具窗口欄成畦,請點擊 Android Studio 窗口左下角的窗口圖標。
*要找到特定工具窗口涝开,請將鼠標指針懸停在窗口圖標上方循帐,并從菜單選擇相應的工具窗口。
您也可以使用鍵盤快捷鍵打開工具窗口舀武。
表 1.部分實用工具窗口的鍵盤快捷鍵拄养。
如果您想要隱藏所有工具欄、工具窗口和編輯器選項卡银舱,請點擊View > Enter Distraction Free Mode瘪匿。 此操作可啟用無干擾模式跛梗。 要退出“無干擾模式”,請點擊View > Exit Distraction Free Mode柿顶。
您可以使用快速搜索在 Android Studio 中的大多數(shù)工具窗口中執(zhí)行搜索和篩選茄袖。 要使用快速搜索,請選擇工具窗口嘁锯,然后鍵入搜索查詢宪祥。
如需了解更多技巧,請參閱鍵盤快捷鍵家乘。
代碼自動完成
Android Studio 有三種代碼自動完成類型蝗羊,您可以使用鍵盤快捷鍵訪問它們。
表 2.代碼自動完成的鍵盤快捷鍵
您還可以按Alt+Enter執(zhí)行快速修復并顯示建議的操作仁锯。
如需了解有關代碼自動完成的詳細信息耀找,請參閱代碼自動完成。
導航
以下是一些操作 Android Studio 的技巧业崖。
使用最近文件操作在最近訪問的文件之間切換野芒。 按Control+E(在 Mac 上,按Command+E*)調出“最近文件”操作双炕。 默認情況下將選擇最后一次訪問的文件狞悲。 在此操作中您還可以通過左側列訪問任何工具窗口。
使用文件結構操作查看當前文件的結構妇斤。 按Control+F12(在 Mac 上摇锋,按Command+F12*)調出“文件結構”操作。您可以使用此操作快速導航至當前文件的任何部分站超。
使用導航至類操作搜索并導航至項目中的特定類荸恕。 按Control+N(在 Mac 上,按Command+O*)調出此操作死相。 “導航至類”支持復雜的表達式融求,包括駝峰、路徑算撮、直線導航和中間名匹配等双肤。 如果連續(xù)兩次調用此操作,將顯示項目類以外的結果钮惠。
使用導航至文件操作導航至文件或文件夾茅糜。 按Control+Shift+N(在 Mac 上,按Command+Shift+O*)調出“導航至文件”操作素挽。要搜索文件夾蔑赘,但不搜索文件启具,請在表達式末尾添加“/”句狼。
使用導航至符號操作按名稱導航至方法或字段。按Control+Shift+Alt+N(在 Mac 上,按Command+Shift+Alt+O*)調出“導航至符號”操作粥谬。
按Alt+F7*查找引用當前光標位置處的類板壮、方法坦喘、字段板熊、參數(shù)或語句的所有代碼片段。
樣式和格式化
在您編輯時旨袒,Android Studio 將自動應用代碼樣式設置中指定的格式設置和樣式汁针。您可以通過編程語言自定義代碼樣式設置,包括指定選項卡和縮進砚尽、空格施无、換行、花括號以及空白行的約定必孤。要自定義代碼樣式設置猾骡,請點擊File > Settings > Editor > Code Style(在 Mac 上,點擊Android Studio > Preferences > Editor > Code Style)敷搪。
雖然 IDE 會在您工作時自動應用格式化兴想,但您也可以通過按Control+Alt+L(在 Mac 上,按Opt+Command+L)顯式調用重新格式化代碼操作赡勘,或按Control+Alt+I(在 Mac 上嫂便,按Alt+Option+I*)自動縮進所有行。
版本控制基礎知識
Android Studio 支持多個版本控制系統(tǒng) (VCS)狮含,包括 Git、GitHub曼振、CVS几迄、Mercurial、Subversion 和 Google Cloud Source Repositories冰评。
在將您的應用導入 Android Studio 后映胁,使用 Android Studio VCS 菜單選項啟用對所需版本控制系統(tǒng)的 VCS 支持、創(chuàng)建存儲庫甲雅、導入新文件至版本控制以及執(zhí)行其他版本控制操作:
在 Android StudioVCS菜單中點擊Enable Version Control Integration解孙。
從下拉菜單中選擇要與項目根目錄關聯(lián)的版本控制系統(tǒng),然后點擊OK抛人。
此時弛姜,VCS 菜單將根據(jù)您選擇的系統(tǒng)顯示多個版本控制選項。
注:您還可以使用File > Settings > Version Control菜單選項設置和修改版本控制設置妖枚。
Gradle 構建系統(tǒng)
Android Studio 基于 Gradle 構建系統(tǒng)廷臼,并通過Android Gradle 插件提供更多面向 Android 的功能。
該構建系統(tǒng)可以作為集成工具從 Android Studio 菜單運行,也可從命令行獨立運行荠商。
您可以利用構建系統(tǒng)的功能執(zhí)行以下操作:
*自定義寂恬、配置和擴展構建流程。
*使用相同的項目和模塊為您的應用創(chuàng)建多個具有不同功能的 APK莱没。
*在不同源代碼集中重復使用代碼和資源初肉。
利用 Gradle 的靈活性,您可以在不修改應用核心源文件的情況下實現(xiàn)以上所有目的饰躲。 Android Studio 構建文件以build.gradle命名牙咏。 這些文件是純文本文件,使用 Android Gradle 插件提供的元素以Groovy語法配置構建属铁。每個項目有一個用于整個項目的頂級構建文件眠寿,以及用于各模塊的單獨的模塊層級構建文件。在導入現(xiàn)有項目時焦蘑,Android Studio 會自動生成必要的構建文件盯拱。
如需了解有關構建系統(tǒng)和如何配置的更多信息,請參閱配置構建例嘱。
構建變體
構建系統(tǒng)可幫助您從一個項目創(chuàng)建同一應用的不同版本狡逢。
如果您同時擁有免費版本和付費版本的應用,或想要在 Google Play 上為不同設備配置分發(fā)多個 APK拼卵,則可以使用此功能奢浑。
如需了解有關配置構建變體的詳細信息,請參閱配置 Gradle 構建腋腮。
APK 拆分
通過 APK 拆分雀彼,您可以高效地基于屏幕密度或 ABI 創(chuàng)建多個 APK。
例如即寡,您可以利用 APK 拆分創(chuàng)建單獨的 hdpi 和 mdpi 版本應用徊哑,同時仍將它們視為一個變體,并允許其共享測試應用聪富、javac莺丑、dx 和 ProGuard 設置。
如需了解有關使用 APK 拆分的詳細信息墩蔓,請參閱APK 拆分梢莽。
資源壓縮
Android Studio 中的資源壓縮功能可自動從您打包的應用和庫依賴關系中刪除不使用的資源。 例如奸披,如果您的應用正在使用Google Play 服務昏名,以訪問 Google 云端硬盤功能,且您當前未使用Google Sign-In阵面,則資源壓縮功能可刪除SignInButton按鈕的各種可繪制資產(chǎn)葡粒。
注:資源壓縮與代碼壓縮工具(例如 ProGuard)協(xié)同工作份殿。
如需了解有關壓縮代碼和資源的詳細信息,請參閱壓縮代碼和資源嗽交。
管理依賴關系
項目的依賴關系在build.gradle文件中按名稱指定卿嘲。Gradle 可自動查找您的依賴關系,并在構建中提供夫壁。 您可以在build.gradle文件中聲明模塊依賴關系拾枣、遠程二進制依賴關系以及本地二進制依賴關系。 Android Studio 配置項目時默認使用 Maven 中央存儲庫盒让。 (該配置包含在項目的頂級構建文件中梅肤。)如需了解有關配置依賴關系的詳細信息,請參閱配置構建變體邑茄。
調試和配置文件工具
Android Studio 可幫助您調試和改進代碼的性能姨蝴,包括內聯(lián)調試和性能分析工具。
內聯(lián)調試
使用內聯(lián)調試功能在調試程序視圖中對引用肺缕、表達式和變量值進行內聯(lián)驗證左医,提高代碼走查效率。
內聯(lián)調試信息包括:
*內聯(lián)變量值
*引用某選定對象的引用對象
*方法返回值
*Lambda 和運算符表達式
*工具提示值
圖 6.內聯(lián)變量值同木。
要啟用內聯(lián)調試浮梢,請在Debug窗口中點擊Settings
并選中Show Values Inline復選框。
性能監(jiān)視器
Android Studio 提供性能監(jiān)視器彤路,讓您可以更加輕松地跟蹤應用的內存和 CPU 使用情況秕硝、查找已解除內存分配的對象、查找內存泄漏以及優(yōu)化圖形性能和分析網(wǎng)絡請求洲尊。在設備或模擬器上運行您的應用時远豺,打開Android Monitor工具窗口,然后點擊Monitors選項卡坞嘀。
如需了解有關性能監(jiān)視器的詳細信息躯护,請參閱Android Monitor。
堆轉儲
在 Android Studio 中監(jiān)控內存使用情況時姆吭,您可以同時啟動垃圾回收并將 Java 堆轉儲為 Android 專有 HPROF 二進制格式的堆快照文件榛做。HPROF 查看器顯示類唁盏、每個類的實例以及引用樹内狸,可以幫助您跟蹤內存使用情況,查找內存泄漏厘擂。
如需了解有關使用堆轉儲功能的詳細信息昆淡,請參閱轉儲和分析 Java 堆。
分配跟蹤器
Android Studio 允許在監(jiān)視內存使用情況的同時跟蹤內存分配情況刽严。
利用跟蹤內存分配功能昂灵,您可以在執(zhí)行某些操作時監(jiān)視對象被分配到哪些位置避凝。
了解這些分配后,您就可以相應地調整與這些操作相關的方法調用眨补,從而優(yōu)化應用的性能和內存使用管削。
如需了解有關跟蹤和分析分配的詳細信息,請參閱分配跟蹤器撑螺。
數(shù)據(jù)文件訪問
Systrace含思、logcat和Traceview等 Android SDK 工具可生成性能和調試數(shù)據(jù),用于對應用進行詳細分析甘晤。
要查看已生成的數(shù)據(jù)文件含潘,請打開“Captures”工具窗口。 在已生成的文件列表中线婚,雙擊相應的文件即可查看數(shù)據(jù)遏弱。右鍵點擊任何.hprof文件即可將其轉換為標準.hprof文件格式。
代碼檢查
在您每次編譯程序時塞弊,Android Studio 都將自動運行已配置的Lint及其他IDE 檢查漱逸,以幫助您輕松識別和糾正代碼結構質量問題。
Lint 工具可檢查您的 Android 項目源文件是否有潛在的錯誤居砖,以及在正確性虹脯、安全性、性能奏候、可用性循集、無障礙性和國際化方面是否需要優(yōu)化改進。
圖 7.Android Studio 中 Lint 檢查的結果蔗草。
除了 Lint 檢查咒彤,Android Studio 還可以執(zhí)行 IntelliJ 代碼檢查和注解驗證,以簡化您的編碼工作流程咒精。
如需了解詳細信息镶柱,請參閱使用 Lint 改進代碼和lint 工具。
Android Studio 中的注解
Android Studio 支持為變量模叙、參數(shù)和返回值添加注解歇拆,以幫助您捕捉錯誤,例如 null 指針異常和資源類型沖突范咨。
Android SDK 管理器將支持注解庫納入 Android 支持存儲庫中故觅,供與 Android Studio 結合使用。
Android Studio 在代碼檢查期間驗證已配置的注解渠啊。
有關 Android 注解的更多詳細信息输吏,請參閱使用注解改進代碼檢查。
日志消息
在使用 Android Studio 構建和運行應用時替蛉,您可以點擊窗口底部的Android Monitor查看adb輸出和設備日志消息 (logcat)贯溅。
如果您想使用Android 設備監(jiān)視器調試您的應用拄氯,您可以點擊Tools > Android > Android Device Monitor啟動設備監(jiān)視器。設備監(jiān)視器中提供全套的 DDMS 工具它浅,您可以使用這些工具進行應用分析和設備行為控制等操作译柏。此外,該監(jiān)視器還包括層次結構查看器工具姐霍,可幫助您優(yōu)化布局艇纺。