Android開發(fā)之自學(xué)第01天(使用篇)

開發(fā)第一應(yīng)用
可以開發(fā)屬于自己的應(yīng)用,是否有點(diǎn)小激動(dòng)?好吧!讓我們開始,首先點(diǎn)擊Start a new Android Studio Project創(chuàng)建工程:

2016-03-23_17-18-54.png
接下來需要輸入應(yīng)用名稱(第一個(gè)字母要大寫)、公司域以及指定應(yīng)用存放目錄,點(diǎn)擊Next按鈕進(jìn)入下一步:
2016-04-15_10-39-57.png

如果第一個(gè)字母不是大寫,會(huì)提示:The application name for most app begins with an uppercase letter

接下來需要選擇開發(fā)什么設(shè)備(可選“手機(jī)和平板”、“穿戴(Wear)”、“TV”,“車載(Android Auto)”等)上的應(yīng)用,以及確定最小SDK的版本號(hào)。
Minimum SDK的作用是在應(yīng)用安裝前,會(huì)對(duì)設(shè)備的Android版本做校驗(yàn),如果設(shè)備的Android版本低于這個(gè)最小版本會(huì)阻止用戶安裝應(yīng)用。

2016-04-15_13-57-21.png
如果不知道怎么選擇最小版本可以點(diǎn)擊Help me choose看看每個(gè)版本的分布圖表和描述:
2016-04-15_13-55-37.png
繼續(xù)點(diǎn)擊Next按鈕進(jìn)行下一步,由于我們先前沒有裝2.3.3這個(gè)版本的SDK,Android Studio會(huì)自動(dòng)幫我們下載需要的組件。這個(gè)過程會(huì)有些慢。
2016-04-15_13-59-23.png
接下來我們需要通過形象友好的GUI模板,來選擇我們第一個(gè)Activity的樣式:
2016-04-15_14-00-21.png
然后需要給Activity和Layout起一個(gè)名字。
2016-04-15_14-00-51.png
點(diǎn)擊Finish按鈕后,Android Studio開始創(chuàng)建并編譯應(yīng)用。
2016-04-15_14-01-40.png
編譯結(jié)束后,我們就可以看到Android Studio的IDE界面了。
2016-04-15_21-46-59.png
從圖上可以看出Android Studio已經(jīng)幫我們將工程組織的很好了。
界面介紹
2016-04-16_15-11-16.png
如上圖所示,我將界面分為5個(gè)區(qū)域做詳細(xì)的講解:
區(qū)域1介紹
2016-04-16_15-26-58.png
這個(gè)區(qū)域是運(yùn)行和調(diào)試相關(guān)的操作。
1、編譯2中顯示的模塊
2、當(dāng)前項(xiàng)目的模塊列表
3、運(yùn)行2中顯示的模塊
4、調(diào)試2中顯示的模塊
5、測試2中顯示的模塊代碼覆蓋率
6、調(diào)試安卓運(yùn)行的進(jìn)程
7、重新運(yùn)行2中顯示的模塊
8、停止運(yùn)行2中顯示的模塊
區(qū)域2介紹
2016-04-16_16-16-08.png
這個(gè)區(qū)域主要是和Android設(shè)備和虛擬機(jī)相關(guān)的操作。
1、同步工程的Gradle文件,一般在Gradle配置被修改的時(shí)候需要同步一下
2、虛擬設(shè)備管理
3、Android SDK管理
4、Android設(shè)備監(jiān)控
5、Genymontion模擬器(需要裝Genymontion插件,安裝篇[模擬器安裝]部分)
區(qū)域3介紹
2016-04-16_16-37-07.png
這個(gè)區(qū)域主要是工程文件資源等相關(guān)的操作。
1、展示項(xiàng)目中文件的組織方式,默認(rèn)是以Android方式展示的,可選擇“Project、Packages、Scratches、ProjectFiles、Problems…”等展示方式。平時(shí)用的最多的就AndroidProject兩種。
2、定位當(dāng)前打開文件在工程目錄中的位置。
3、關(guān)閉工程目錄中所有的展開項(xiàng)。
4、額外的一些系統(tǒng)配置,點(diǎn)開后是一個(gè)彈出菜單:
2016-04-16_17-13-09.png
Autoscroll to SourceAutoscroll from Source兩個(gè)勾選起來后,Android Studio會(huì)自動(dòng)定位當(dāng)前編輯文件在工程中的位置,用起來會(huì)很爽。其他功能大家可以自己摸索摸索。
區(qū)域4介紹
2016-04-16_17-19-19.png
這個(gè)區(qū)域主要是用來編寫代碼和設(shè)計(jì)布局。
1、已打開的文件的Tab頁。(在Tab頁上按下Cmd鍵 + 點(diǎn)擊鼠標(biāo)會(huì)出現(xiàn)一個(gè)彈出菜單會(huì)有驚喜哦?。?br> 2、UI布局預(yù)覽區(qū)域。
3、布局編輯模式切換,對(duì)于一些老鳥來說更喜歡通過Text來編輯布局,新手可以試試Design編輯布局,編輯后再切換到Text模式,對(duì)于學(xué)習(xí)Android布局設(shè)計(jì)很有幫助。
區(qū)域5介紹
2016-04-23_16-01-27.png
這個(gè)區(qū)域大部分是用來查看一些輸出信息的。
1、終端 - 喜歡命令行操作的伙伴不用額外啟動(dòng)終端了。
2、信息 - 工程編譯的一些輸出信息。
3、監(jiān)控 - 可以查看應(yīng)用的一些輸出信息。
4、運(yùn)行 - 應(yīng)用運(yùn)行后的一些相關(guān)信息。
5、TODO - 標(biāo)有TOTO注釋的列表。
6、事件 - 一些事件日志。
7、Gradle控制臺(tái),通過這個(gè)可以了解Gradle構(gòu)建應(yīng)用的時(shí)候一些輸出信息。
Android Studio目錄結(jié)構(gòu)
2016-04-23_17-27-07.png

1、Gradle編譯系統(tǒng),版本由wrapper指定
2、Android Studio IDE所需要的文件
3、應(yīng)用相關(guān)文件的存放目錄
4、編譯后產(chǎn)生的相關(guān)文件
5、存放相關(guān)依賴庫
6、代碼存放目錄
7、資源文件存放目錄(包括:布局、圖像、樣式等等)
8、應(yīng)用程序的基本信息清單,描述哪些個(gè)組件是存在的
9、git版本管理忽略文件,標(biāo)記出哪些文件不用進(jìn)入git庫中
10、Android Studio的工程文件
11、模塊的gradle相關(guān)配置
12、代碼混淆規(guī)則配置
13、工程的gradle相關(guān)配置
14、gradle相關(guān)的全局屬性設(shè)置
15、本地屬性設(shè)置(key設(shè)置,android sdk位置等屬性)

應(yīng)用開發(fā)調(diào)試

2016-04-25_22-43-16.png
如上圖1所示在需要調(diào)試的行號(hào)處點(diǎn)擊設(shè)置斷點(diǎn),然后點(diǎn)擊2所示的Debug按鈕(或直接按下Ctrl+D快捷鍵)開始調(diào)試。
2016-04-25_23-08-41.png
如上圖所示Android Studio下方出現(xiàn)了調(diào)試視圖。
1、當(dāng)前程序停留的代碼行
2、調(diào)試相關(guān)的一些按鈕
3、程序調(diào)用棧區(qū),該區(qū)域顯示了程序執(zhí)行到斷點(diǎn)處所調(diào)用過的所有方法,越下面的越早被調(diào)用。
4、局部變量觀察區(qū)
5、用戶自定義變量觀察區(qū)
2016-04-26_15-45-50.png

1、step over(F8) - 程序向下執(zhí)行一行,如果當(dāng)前行有方法調(diào)用,這個(gè)方法執(zhí)行完畢返回,然后到下一行。
2、step into(F7) - 程序向下執(zhí)行一行,如果當(dāng)前行有用戶自定義方法(非官方類庫方法)調(diào)用,則進(jìn)入該方法。
3、Force step into(Alt+Shift+F7) - 程序向下執(zhí)行一行,如果當(dāng)前行有方法調(diào)用,則進(jìn)入該方法。
4、step out(Shift+F8) - 如果在調(diào)試的時(shí)候你進(jìn)入了一個(gè)方法,并覺得該方法沒有問題,你就可以使用step out跳出該方法,返回到該方法被調(diào)用處的下一行語句。值得注意的是,該方法已執(zhí)行完畢。
5、Drop Frame - 點(diǎn)擊該按鈕后,你將返回到當(dāng)前方法的調(diào)用處重新執(zhí)行,并且所有上下文變量的值也回到那個(gè)時(shí)候。只要調(diào)用鏈中還有上級(jí)方法,可以跳到其中的任何一個(gè)方法。
6、Run to cursor(Alt+F9) - 一直運(yùn)行到光標(biāo)所在的位置。
7、Resume Program(Alt+Cmd+R) - 一直運(yùn)行程序直到碰到下一個(gè)斷點(diǎn)。
8、View Backpoints(Shift+Cmd+F8) - 查看你設(shè)置過的所有斷點(diǎn)并可以設(shè)置斷點(diǎn)的一些屬性
2016-04-26_17-12-03.png

1、列出了所有程序中設(shè)置的斷點(diǎn)
2、可以輸入條件,在條件成立后斷點(diǎn)才起作用(例如:在輸入框中輸入 i == 8),這種帶條件斷點(diǎn)在實(shí)際開發(fā)過程中非常有用。也可以通過右鍵點(diǎn)擊斷點(diǎn)來設(shè)置條件斷點(diǎn),如下圖:
2016-04-26_17-28-05.png

9、Mute Backpoints - 選中后所有的斷點(diǎn)別設(shè)置成無效狀態(tài)。再次點(diǎn)擊可以重新設(shè)置所有斷點(diǎn)有效。
好了,到這里調(diào)試相關(guān)的都介紹完了。
應(yīng)用打包簽名
基礎(chǔ)
一個(gè) Android Studio 項(xiàng)目中,會(huì)存在多個(gè) .gradle 文件。其中, project 目錄下存在一個(gè) build.gradle 文件和每一個(gè) module 會(huì)存在一個(gè) build.gradle 文件。
工程中的build.gradlebuildscript { repositories { jcenter() // 聲明使用 maven 倉庫 } dependencies { // 依賴android提供的2.1.0-alpha5的gradle build classpath 'com.android.tools.build:gradle:2.1.0-alpha5' }}// 為所有的工程的repositories配置為jcentersallprojects { repositories { jcenter() }}// 清楚工程的任務(wù)task clean(type: Delete) { delete rootProject.buildDir}

模塊中的build.gradle模塊中的build.gradle// 這表示該module是一個(gè)app moduleapply plugin: 'com.android.application'android { // 基于哪個(gè)版本編譯 compileSdkVersion 23 // 基于哪個(gè)構(gòu)建工具版本進(jìn)行構(gòu)建的 buildToolsVersion "23.0.3" // 缺省配置主要包括:應(yīng)用ID,最小SDK版本,目標(biāo)SDK版本,應(yīng)用版本號(hào)、應(yīng)用版本名 ???????defaultConfig { applicationId "open_open.com.helloworld" minSdkVersion 10 targetSdkVersion 23 versionCode 1 versionName "1.0" } // buildTypes是構(gòu)建類型,常用的有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...,如下圖:

2016-04-26_21-51-28.png
在彈窗中一直Next直到下面這個(gè)界面:
2016-04-26_21-54-27.png
在沒有Key的情況下,我們可以先點(diǎn)擊Create new...按鈕來創(chuàng)建一個(gè)Key,創(chuàng)建過程很簡單,如下圖:
2016-04-26_21-54-27.png
如果你已經(jīng)存在Key了,那就點(diǎn)擊Choose existing...按鈕指定.jks文件位置,如下圖:
2016-04-26_22-08-27.png

輸入Key store passwordKey password(在創(chuàng)建Key的時(shí)候輸入的那兩個(gè)密碼),點(diǎn)擊Next按鈕:
2016-04-26_22-14-21.png
接下來就點(diǎn)擊Finish按鈕,坐等AS打包簽名完成,簽名完成后AS會(huì)提示我們:
2016-04-26_22-20-13.png
點(diǎn)擊Revaal in Finder,可以找到我們簽名好的APK文件:
2016-04-26_22-29-22.png

參考鏈接:
http://www.open-open.com/lib/view/open1466732896151.html

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 178,769評(píng)論 25 709
  • 在我心里,她是一個(gè)自主會(huì)生活的人,知道自己想要什么,并且能權(quán)衡外界努力去實(shí)現(xiàn)的人,曾經(jīng)一度,她對(duì)我來說是萬能的...
    寧思王閱讀 388評(píng)論 0 2
  • 一、 思念 晚上,看個(gè)了公益宣傳片,感觸好深我突然想起了和我許久未見的母親心里不禁有了些思念,對(duì)家的思...
    晨初l閱讀 1,030評(píng)論 0 1
  • 凌晨一點(diǎn)五十的夜,寒冬臘月里,依稀能夠聽到窗外凜冽的風(fēng)聲。夜黑得讓人戰(zhàn)栗,如果沒有解鎖枕邊的手機(jī),沒有點(diǎn)亮床頭的臺(tái)...
    武毛先生閱讀 517評(píng)論 2 1

友情鏈接更多精彩內(nèi)容