Android Studio2.0 教程从入门到精通Windows版 - 入门篇

第一篇介绍了Android Studio开发环境以及Genymotion虚拟机安装方法,本节将给大家介绍如何使用Android Studio开发应用。

开发第一应用

可以开发属于自己的应用,是否有点小激动?好吧!让我们开始,首先点击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已经帮我们将工程组织的很好了。

界面介绍


如上图所示,我将界面分为5个区域做详细的讲解:
区域1介绍
说明: C:\Users\wqm\AppData\Local\Temp\SNAGHTML5a24778.PNG

这个区域是运行和调试相关的操作。
1、编译2中显示的模块
2、当前项目的模块列表
3、运行2中显示的模块
4、调试2中显示的模块
5、测试2中显示的模块代码覆盖率
6、调试安卓运行的进程
7、重新运行2中显示的模块
8、停止运行2中显示的模块

区域2介绍

说明: C:\Users\wqm\AppData\Local\Temp\SNAGHTML5a94cd5.PNG

这个区域主要是和Android设备和虚拟机相关的操作。
1、虚拟设备管理。
2、同步工程的Gradle文件,一般在Gradle配置被修改的时候需要同步一下。
3 、项目结构,一些项目相关的属性配置。
4、Android SDK管理
5、Genymontion模拟器(需要装Genymontion插件,安装篇[****模拟器安装]部分)

区域3介绍

说明: C:\Users\wqm\AppData\Local\Temp\SNAGHTML5bde3b7.PNG

这个区域主要是工程文件资源等相关的操作。
1、展示项目中文件的组织方式,默认是以Android方式展示的,可选择“Project、Packages、Scratches、ProjectFiles、Problems…”等展示方式。平时用的最多的就AndroidProject两种。
2、定位当前打开文件在工程目录中的位置。
3、关闭工程目录中所有的展开项。
4、额外的一些系统配置,点开后是一个弹出菜单:
Autoscroll to SourceAutoscroll from Source两个勾选起来后,Android Studio会自动定位当前编辑文件在工程中的位置,用起来会很爽。其他功能大家可以自己摸索摸索。

区域4介绍

说明: C:\Users\wqm\AppData\Local\Temp\SNAGHTML5cee482.PNG

这个区域主要是用来编写代码和设计布局。
1、已打开的文件的Tab页。(在Tab页上按下Ctrl键 + 点击鼠标会出现一个弹出菜单会有惊喜哦!)
2、UI布局预览区域。
3、布局编辑模式切换,对于一些老鸟来说更喜欢通过Text来编辑布局,新手可以试试Design编辑布局,编辑后再切换到Text模式,对于学习Android布局设计很有帮助。

区域5介绍


这个区域大部分是用来查看一些输出信息的。
1、终端 - 喜欢命令行操作的伙伴不用额外启动终端了。
2、监控 - 可以查看应用的一些输出信息。
3、信息 - 工程编译的一些输出信息。
4、运行 - 应用运行后的一些相关信息。
5、TODO - 标有TOTO注释的列表。
6、事件 - 一些事件日志。
7、Gradle控制台,通过这个可以了解Gradle构建应用的时候一些输出信息。

Android Studio目录结构

说明: C:\Users\wqm\AppData\Local\Temp\SNAGHTML6038007.PNG

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位置等属性)

应用开发调试

说明: C:\Users\wqm\AppData\Local\Temp\SNAGHTML60a7a4d.PNG

如上图1所示在需要调试的行号处点击设置断点,然后点击2所示的Debug按钮(或直接按下Shift+F9快捷键)开始调试。

如上图所示Android Studio下方出现了调试视图。
1、当前程序停留的代码行
2、调试相关的一些按钮
3、程序调用栈区,该区域显示了程序执行到断点处所调用过的所有方法,越下面的越早被调用。
4、局部变量观察区
5、用户自定义变量观察区
说明: C:\Users\wqm\AppData\Local\Temp\SNAGHTML6cc60f7.PNG

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按钮后,会出现一个断点属性窗口,可以对断点进行一些更高级的设置。
说明: C:\Users\wqm\AppData\Local\Temp\SNAGHTML6dbfefa.PNG

1、列出了所有程序中设置的断点
2、可以输入条件,在条件成立后断点才起作用(例如:在输入框中输入 i == 8),这种带条件断点在实际开发过程中非常有用。也可以通过右键点击断点来设置条件断点,如下图:
说明: C:\Users\wqm\work\open-open\document\Android Studio2.0 教程从入门到精通Windows版\image\2016-07-09_16-15-35.gif

好了,到这里调试相关的功能都介绍完了。

应用打包签名

基础
一个 Android Studio 项目中,会存在多个 .gradle 文件。其中, project 目录下存在一个 build.gradle 文件和每一个 module 会存在一个 build.gradle 文件。
工程中的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配置为jcentersallprojects { repositories { jcenter() }}// 清楚工程的任务task clean(type: Delete) { delete rootProject.buildDir}

模块中的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...,如下图:

说明: C:\Users\wqm\AppData\Local\Temp\SNAGHTML3715a3.PNG

在弹窗中一直Next直到下面这个界面:
说明: C:\Users\wqm\AppData\Local\Temp\SNAGHTML39f279.PNG

在没有Key的情况下,我们可以先点击Create new...按钮来创建一个Key,创建过程很简单,如下图:
说明: C:\Users\wqm\AppData\Local\Temp\SNAGHTML4335d0.PNG

如果你已经存在Key了,那就点击Choose existing...按钮指定.jks文件位置,如下图:
说明: C:\Users\wqm\AppData\Local\Temp\SNAGHTML448c19.PNG

输入Key store passwordKey password(在创建Key的时候输入的那两个密码),点击Next按钮:
说明: C:\Users\wqm\AppData\Local\Temp\SNAGHTML4627eb.PNG

接下来就点击Finish按钮,坐等AS打包签名完成,签名完成后AS会提示我们:
说明: C:\Users\wqm\AppData\Local\Temp\SNAGHTML48b922.PNG

点击Show in Explorer,可以找到我们签名好的APK文件:
说明: C:\Users\wqm\AppData\Local\Temp\SNAGHTML4a9d0a.PNG

系列教程

Android Studio2.0 教程从入门到精通Windows版 - 安装篇
Android Studio2.0 教程从入门到精通Windows版 - 入门篇
Android Studio2.0 教程从入门到精通Windows版 - 提高篇
Android Studio2.0 教程从入门到精通Mac版 - 安装篇
Android Studio2.0 教程从入门到精通Mac版 - 入门篇
Android Studio2.0 教程从入门到精通Mac版 - 提高篇

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,319评论 5 459
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,801评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,567评论 0 319
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,156评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,019评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,090评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,500评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,192评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,474评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,566评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,338评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,212评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,572评论 3 298
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,890评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,169评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,478评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,661评论 2 335

推荐阅读更多精彩内容