1.大體認知
1.1模式
AS是基於idea,而idea和eclipse有大的區別,有好處也有不好的地方,在一段時間裏,idea被認爲是開發java最好用強大的ide工具,所以AS新建的時候有new application和new module開發。idea沒有工作空間這樣的說法。這就是Eclipse用戶切換過來第一個比較不適應的地方。
具體說就是:
- android studio是單工程的開發模式
- android studio中的application相當於eclipse裏的workspace概念
- android studio中的module相當於eclipse裏的project概念
1.2優點:
- AS是Google專門爲Android基於IntelliJ IDEA打造的利器。親生的永遠是最好的,只是現在還在成長中而已。
- AS在速度上不管哪一個方面都比Eclipse快。
- Darcula主題UI簡直就是極客範,帥爆了。
- 強大的智能提示補全功能在寫代碼時簡直比Eclipse高效率N倍。
- 智能保存,不需要Ctrl + S。效率會大大提升。
- 整合Gradle構建工具,Gradle集合了Ant和Maven的優點,不管是配置、編譯、打包都非常牛逼。
- UI編輯器簡直比Eclipse高效N倍,自帶了多設備的實時預覽,簡直是神器。多語言適配點擊地球直接輸入,再也不用比較那個string沒有翻譯了。
- 內置終端直接替代cmd命令行,一個IDE全部搞定。
- 完善的插件系統,如Git、Markdown、Gradle等,直接搜索下載。
- 版本控制系統,安裝的時候就自帶GitHub, Git, SVN等流行的版本控制系統,可以直接check out你的項目,邊寫代碼邊右鍵可以直接具備BCompare功能與其他版本進行對比修改。
2.實用設置
可以通過快捷鍵Ctrl+Alt+S或者菜單File——>Settings來打開設置窗口。
2.1主題設置
可以設置成目前比較流行的Darcula主題,通過Appearance & Bahavior > Apperance下的UI Options選項設置。
2.2字體設置
默認字體偏小個了,可以根據需要配置合適自己的字體大小,通過Editor->Color & Fonts > Font設置。默認方案是隻讀的,在修改字體大小前需要先Save As..一下再去修改字體:
2.3行號設置
默認Android Studio不顯示代碼行數,這樣對於一些提示XX行的錯誤我們定位就不方便了,在配置的查詢窗口中輸入line num關鍵字查詢需要配置的項目,然後選擇Appearance選項,可以看到Show line numbers選項,打鉤後就可以了。
還可以直接在編輯窗口點擊左側,然後鼠標右鍵選擇Show Line Numbers選項即可:
2.4快捷鍵設置
設置窗口Settings——>keymap即可設置
2.5刪除項目
AS對工程刪除做了保護機制,默認你在項目右鍵發現沒有刪除選項。你會發現你的module上面會有一個小手機,這是保護機制。刪除的第一步就是去掉保護機制,也就是讓手機不見,具體做法就是鼠標放在工程上右鍵---->open module setting,或者F4進入如圖界面,選中你要刪除的module,然後點擊減號,這樣就取消了保護機制,然後回到項目工程右鍵就可發現刪除選項。
注意:刪除會將源文件刪除。
3.編寫HelloWorld
可以開發屬於自己的應用,是否有點小激動?好吧!讓我們開始,首先點擊Start a new Android Studio Project創建工程:
接下來需要輸入應用名稱(第一個字母要大寫)、公司域以及指定應用存放目錄,點擊Next按鈕進入下一步:
如果第一個字母不是大寫,會提示:The application
name for most app begins with an uppercase letter
接下來需要選擇開發什麼設備(可選“手機和平板”、“穿戴(Wear)”、“TV”,“車載(Android Auto)”等)上的應用,以及確定最小SDK的版本號。
Minimum SDK的作用是在應用安裝前,會對設備的Android版本做校驗,如果設備的Android版本低於這個最小版本會阻止用戶安裝應用。
如果不知道怎麼選擇最小版本可以點擊Help me choose看看每個版本的分佈圖表和描述:
繼續點擊Next按鈕進行下一步,我們需要通過形象友好的GUI模板,來選擇我們第一個Activity的樣式:
然後需要給Activity和Layout起一個名字。
點擊Finish按鈕後,Android Studio開始創建並編譯應用。編譯結束後,我們就可以看到Android Studio的IDE界面了。
從圖上可以看出Android Studio已經幫我們將工程組織的很好了。
4.界面介紹
如上圖所示,我將界面分爲5個區域做詳細的講解:
4.1 區域1介紹
這個區域是運行和調試相關的操作。
1、編譯2中顯示的模塊
2、當前項目的模塊列表
3、運行2中顯示的模塊
4、調試2中顯示的模塊
5、測試2中顯示的模塊代碼覆蓋率
6、調試安卓運行的進程
7、重新運行2中顯示的模塊
8、停止運行2中顯示的模塊
4.2 區域2介紹
這個區域主要是和Android設備和虛擬機相關的操作。
1、虛擬設備管理。
2、同步工程的Gradle文件,一般在Gradle配置被修改的時候需要同步一下。
3 、項目結構,一些項目相關的屬性配置。
4、Android SDK管理
5、Genymontion模擬器(需要裝Genymontion插件,安裝篇[模擬器安裝]部分)
4.3 區域3介紹
這個區域主要是工程文件資源等相關的操作。
1、展示項目中文件的組織方式,默認是以Android方式展示的,可選擇“Project、Packages、Scratches、ProjectFiles、Problems…”等展示方式。平時用的最多的就Android和Project兩種。
2、定位當前打開文件在工程目錄中的位置。
3、關閉工程目錄中所有的展開項。
4、額外的一些系統配置,點開後是一個彈出菜單:
Autoscroll to Source 和 Autoscroll from Source兩個勾選起來後,Android Studio會自動定位當前編輯文件在工程中的位置,用起來會很爽。其他功能大家可以自己摸索摸索。
4.4 區域4介紹
這個區域主要是用來編寫代碼和設計佈局。
1、已打開的文件的Tab頁。(在Tab頁上按下Ctrl鍵 + 點擊鼠標會出現一個彈出菜單會有驚喜哦!)
2、UI佈局預覽區域。
3、佈局編輯模式切換,對於一些老鳥來說更喜歡通過Text來編輯佈局,新手可以試試Design編輯佈局,編輯後再切換到Text模式,對於學習Android佈局設計很有幫助。
4.5 區域5介紹
這個區域大部分是用來查看一些輸出信息的。
1、終端 - 喜歡命令行操作的夥伴不用額外啓動終端了。
2、監控 - 可以查看應用的一些輸出信息。
3、信息 - 工程編譯的一些輸出信息。
4、運行 - 應用運行後的一些相關信息。
5、TODO - 標有TOTO註釋的列表。
6、事件 - 一些事件日誌。
7、Gradle控制檯,通過這個可以瞭解Gradle構建應用的時候一些輸出信息。
5.Android Studio目錄結構
1、Gradle編譯系統,版本由wrapper指定
2、Android Studio IDE所需要的文件
3、應用相關文件的存放目錄
4、編譯後產生的相關文件
5、存放相關依賴庫
6、代碼存放目錄
7、資源文件存放目錄(包括:佈局、圖像、樣式等等)
8、應用程序的基本信息清單,描述哪些個組件是存在的
9、git版本管理忽略文件,標記出哪些文件不用進入git庫中
10、Android Studio的工程文件
11、模塊的gradle相關配置
12、代碼混淆規則配置
13、工程的gradle相關配置
14、gradle相關的全局屬性設置
15、本地屬性設置(key設置,android sdk位置等屬性)
6.應用開發調試
如上圖1所示在需要調試的行號處點擊設置斷點,然後點擊2所示的Debug按鈕(或直接按下Shift+F9快捷鍵)開始調試。
如上圖所示Android Studio下方出現了調試視圖。
1、當前程序停留的代碼行
2、調試相關的一些按鈕
3、程序調用棧區,該區域顯示了程序執行到斷點處所調用過的所有方法,越下面的越早被調用。
4、局部變量觀察區
5、用戶自定義變量觀察區
1、Step Over(F8) - 程序向下執行一行,如果當前行有方法調用,這個方法執行完畢返回,然後到下一行。
2、Step Into(F7) - 程序向下執行一行,如果當前行有用戶自定義方法(非官方類庫方法)調用,則進入該方法。
3、Force Step Into(Alt+Shift+F7) - 程序向下執行一行,如果當前行有方法調用,則進入該方法。
4、Step Out(Shift+F8) - 如果在調試的時候你進入了一個方法,並覺得該方法沒有問題,你就可以使用Step Out跳出該方法,返回到該方法被調用處的下一行語句。值得注意的是,該方法已執行完畢。
5、Drop Frame - 點擊該按鈕後,你將返回到當前方法的調用處重新執行,並且所有上下文變量的值也回到那個時候。只要調用鏈中還有上級方法,可以跳到其中的任何一個方法。
6、Run to Cursor(Alt+F9) - 一直運行到光標所在的位置。
7、Resume Program(F9) - 一直運行程序直到碰到下一個斷點。
8、View Backpoints(Ctrl + Shift +F8) - 查看你設置過的所有斷點並可以設置斷點的一些屬性
9、Mute Backpoints - 選中後所有的斷點別設置成無效狀態。再次點擊可以重新設置所有斷點有效。
在點擊了View Backpoints按鈕後,會出現一個斷點屬性窗口,可以對斷點進行一些更高級的設置。
1、列出了所有程序中設置的斷點
2、可以輸入條件,在條件成立後斷點才起作用(例如:在輸入框中輸入 i == 8),這種帶條件斷點在實際開發過程中非常有用。也可以通過右鍵點擊斷點來設置條件斷點,如下圖:
好了,到這裏調試相關的功能都介紹完了。
7.應用打包簽名
7.1基礎
一個 Android Studio 項目中,會存在多個 .gradle 文件。其中, project 目錄下存在一個 build.gradle 文件和每一個 module 會存在一個 build.gradle 文件。
7.1.1工程中的build.gradle
buildscript {
repositories {
jcenter() // 聲明使用 maven 倉庫
}
dependencies {
// 依賴android提供的2.1.0-alpha5的gradle build
classpath 'com.android.tools.build:gradle:2.1.0-alpha5'
}
}
// 爲所有的工程的repositories配置爲jcenters
allprojects {
repositories {
jcenter()
}
}
// 清楚工程的任務
task clean(type: Delete) {
delete rootProject.buildDir
}
7.1.2模塊中的build.gradle
// 這表示該module是一個app module
apply plugin: 'com.android.application'
android {
// 基於哪個版本編譯
compileSdkVersion 23
// 基於哪個構建工具版本進行構建的
buildToolsVersion "23.0.3"
// 缺省配置主要包括:應用ID,最小SDK版本,目標SDK版本,應用版本號、應用版本名
defaultConfig {
applicationId "open_open.com.helloworld"
minSdkVersion 10
targetSdkVersion 23
versionCode 1
versionName "1.0"
}
// buildTypes是構建類型,常用的有release和debug兩種,可以在這裏面啓用混淆,啓用zipAlign以及配置簽名信息等。
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
// dependencies它定義了該module需要依賴的jar,aar,jcenter庫信息。
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
testCompile 'junit:junit:4.12'
compile 'com.android.support:appcompat-v7:23.2.1'
}
7.2打包簽名
選擇Build->Generate Signed APK...,如下圖:
在彈窗中一直Next直到下面這個界面:
在沒有Key的情況下,我們可以先點擊Create
new...按鈕來創建一個Key,創建過程很簡單,如下圖:
如果你已經存在Key了,那就點擊Choose
existing...按鈕指定.jks文件位置,如下圖:
輸入Key
store password和Key
password(在創建Key的時候輸入的那兩個密碼),點擊Next按鈕:
接下來就點擊Finish按鈕,坐等AS打包簽名完成,簽名完成後AS會提示我們:
點擊Show
in Explorer,可以找到我們簽名好的APK文件:
本文綜合整理自:
http://www.open-open.com/lib/view/open1468121363300.html
http://blog.csdn.net/yanbober/article/details/45306483