(轉)Android學習筆記②——HelloWorld的建立已經基本知識,androidhelloworld
開發第一應用
可以開發屬於自己的應用,是否有點小激動?好吧!讓我們開始,首先點擊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按鈕進行下一步,由於我們先前沒有裝2.3.3這個版本的SDK,Android Studio會自動幫我們下載需要的組件。這個過程會有些慢。
接下來我們需要通過形象友好的GUI模板,來選擇我們第一個Activity的樣式:
然後需要給Activity和Layout起一個名字。
點擊Finish按鈕後,Android Studio開始建立並編譯應用。
編譯結束後,我們就可以看到Android Studio的IDE介面了。
從圖上可以看出Android Studio已經幫我們將工程組織的很好了。
介面介紹
如所示,我將介面分為5個地區做詳細的講解:
地區1介紹
這個地區是運行和調試相關的操作。
1、編譯2中顯示的模組
2、當前項目的模組列表
3、運行2中顯示的模組
4、調試2中顯示的模組
5、測試2中顯示的模組程式碼涵蓋範圍
6、調試安卓啟動並執行進程
7、重新運行2中顯示的模組
8、停止運行2中顯示的模組
地區2介紹
這個地區主要是和Android裝置和虛擬機器相關的操作。
1、同步工程的Gradle檔案,一般在Gradle配置被修改的時候需要同步一下
2、虛擬設備管理
3、Android SDK管理
4、Android裝置監控
5、Genymontion模擬器(需要裝Genymontion外掛程式,安裝篇[模擬器安裝]部分)
地區3介紹
這個地區主要是工程檔案資源等相關的操作。
1、展示項目中檔案的組織方式,預設是以Android方式展示的,可選擇“Project、Packages、Scratches、ProjectFiles、Problems…”等展示方式。平時用的最多的就Android和Project兩種。
2、定位當前開啟檔案在工程目錄中的位置。
3、關閉工程目錄中所有的展開項。
4、額外的一些系統配置,點開後是一個快顯功能表:
Autoscroll to Source 和 Autoscroll from Source兩個勾選起來後,Android Studio會自動定位當前編輯檔案在工程中的位置,用起來會很爽。其他功能大家可以自己摸索摸索。
地區4介紹
這個地區主要是用來編寫代碼和設計布局。
1、已開啟的檔案的Tab頁。(在Tab頁上按下Cmd鍵 + 點擊滑鼠會出現一個快顯功能表會有驚喜哦!)
2、UI版面配置預覽地區。
3、布局編輯模式切換,對於一些老鳥來說更喜歡通過Text來編輯布局,新手可以試試Design編輯布局,編輯後再切換到Text模式,對於學習Android布局設計很有協助。
地區5介紹
這個地區大部分是用來查看一些輸出資訊的。
1、終端 - 喜歡命令列操作的夥伴不用額外啟動終端了。
2、資訊 - 工程編譯的一些輸出資訊。
3、監控 - 可以查看應用的一些輸出資訊。
4、運行 - 應用運行後的一些相關資訊。
5、TODO - 標有TOTO注釋的列表。
6、事件 - 一些事件記錄。
7、Gradle控制台,通過這個可以瞭解Gradle構建應用的時候一些輸出資訊。
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位置等屬性)
應用開發調試
如1所示在需要調試的行號處點擊設定斷點,然後點擊2所示的Debug按鈕(或直接按下Ctrl+D快速鍵)開始調試。
如所示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(Alt+Cmd+R) - 一直運行程式直到碰到下一個斷點。
8、View Backpoints(Shift+Cmd+F8) - 查看你設定過的所有斷點並可以設定斷點的一些屬性
1、列出了所有程式中設定的斷點
2、可以輸入條件,在條件成立後斷點才起作用(例如:在輸入框中輸入 i == 8),這種帶條件斷點在實際開發過程中非常有用。也可以通過右鍵點擊斷點來設定條件斷點,如:
9、Mute Backpoints - 選中後所有的斷點別設定成無效狀態。再次點擊可以重新設定所有斷點有效。
好了,到這裡調試相關的都介紹完了。
應用打包簽名基礎
一個 Android Studio 項目中,會存在多個 .gradle 檔案。其中, project 目錄下存在一個 build.gradle 檔案和每一個 module 會存在一個 build.gradle 檔案。
- 模組中的build.gradle
模組中的build.gradle// 這表示該module是一個app moduleapply 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'}
打包簽名
選擇Build->Generate Signed APK...,如:
在彈窗中一直Next直到下面這個介面:
在沒有Key的情況下,我們可以先點擊Create new...按鈕來建立一個Key,建立過程很簡單,如:
如果你已經存在Key了,那就點擊Choose existing...按鈕指定.jks檔案位置,如:
輸入Key store password和Key password(在建立Key的時候輸入的那兩個密碼),點擊Next按鈕:
接下來就點擊Finish按鈕,坐等AS打包簽名完成,簽名完成後AS會提示我們:
點擊Revaal in Finder,可以找到我們簽名好的APK檔案:
本文