第一篇

介绍了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介绍

这个区域是运行和调试相关的操作。

1、编译2中显示的模块

2、当前项目的模块列表

3、运行2中显示的模块

4、调试2中显示的模块

5、测试2中显示的模块代码覆盖率

6、调试安卓运行的进程

7、重新运行2中显示的模块

8、停止运行2中显示的模块

区域2介绍

这个区域主要是和Android设备和虚拟机相关的操作。

1、虚拟设备管理。

2、同步工程的Gradle文件,一般在Gradle配置被修改的时候需要同步一下。

3 、项目结构,一些项目相关的属性配置。

4、Android SDK管理

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页上按下Ctrl键 + 点击鼠标会出现一个弹出菜单会有惊喜哦!)

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按钮(或直接按下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),这种带条件断点在实际开发过程中非常有用。也可以通过右键点击断点来设置条件断点,如下图:

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

应用打包签名

基础

一个 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配置为jcenters
allprojects {
repositories {
jcenter()
}
} // 清楚工程的任务
task clean(type: Delete) {
delete rootProject.buildDir
}

模块中的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'
}

打包签名

选择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文件:

Android开发 Android Studio2.0 教程从入门到精通Windows版 - 入门篇的更多相关文章

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

    http://www.open-open.com/lib/view/open1468121363300.html 本文转自:深度开源(open-open.com)原文标题:Android Studio ...

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

    第二篇我们开发了一个Hello World应用,并介绍Android Sutdio的界面和如何调试应用,接下来将介绍一些常用的快捷键和必备插件. 常用快捷键 代码跳转 描述:跳转是为了方便代码位置的定 ...

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

    详见:http://www.open-open.com/lib/view/open1468118887690.html

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

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

  5. Android Studio2.0 教程MAC版 -快捷键篇

    本文转至 Android Studio2.0 教程从入门到精通MAC版 - 提高篇 ( OPEN 开发经验库) 第二篇我们开发了一个Hello World应用,并介绍Android Sutdio的界面 ...

  6. Android开发——Android M(6.0) 权限解决方案

    Android开发--Android M(6.0) 权限解决方案 自从Android M(6.0)发布以来,权限管理相比以前有了很大的改变,很多程序员发现之前运行的好好的Android应用在Andro ...

  7. 基于jeesite+android开发 电子商务系统免费教程

    下载地址: jeesite免费教程 基于jeesite+android开发 电子商务系统免费教程 基于jeesite+android开发 电子商务系统免费教程 这个教程已经录制完很久了,一直没有公开, ...

  8. Android开发-Android Studio问题以及解决记录

    [Android开发] Android Studio问题以及解决记录   http://blog.csdn.net/niubitianping/article/details/51400721 1.真 ...

  9. Android开发——Android多进程以及使用场景介绍

    个层级,具体可以查看Android开发--Android进程保活招式大全中1.1部分的内容,这里就不赘述了. 根据进程中当前活动组件的重要程度,Android 会将进程评定为它可能达到的最高级别.例如 ...

随机推荐

  1. 7-zip 压缩算法及C SDK使用

    pdf版本下载:http://files.cnblogs.com/davad/7-zip_and_SDK.pdf 1. 介绍 官方网址:中文:http://sparanoid.com/lab/7z/ ...

  2. http抓包工具

    fiddler 可以用该工具抓包并修改对应的参数数据

  3. Lua中的loadfile、dofile、require详解

    1.loadfile——只编译,不运行 loadfile故名思议,它只会加载文件,编译代码,不会运行文件里的代码.比如,我们有一个hellofile.lua文件: 复制代码代码如下: print(“h ...

  4. JVM中的垃圾回收

    GC 垃圾回收回收什么 Java的内存分配原理与C/C++不同.C/C++每次申请内存时都要malloc进行系统调用.而系统调用发生在内核空间,每次都要中断进行切换,这须要一定的开销. 而Java虚拟 ...

  5. [Linux小技巧] 一行命令让CPU占用率达到100%

    for i in `seq 1 $(cat /proc/cpuinfo |grep "physical id" |wc -l)`; do dd if=/dev/zero of=/d ...

  6. ★ Maven的坑,tomcat插件6 不能与jdk8一起使用

    Maven 集成Tomcat7插件 maven WEB项目启动没问题访问页面就报错:org.apache.jasper.JasperException: Unable to compile class ...

  7. bootstrap 兼容哪些浏览器

    Bootstrap的目标是在最新的桌面和移动浏览器上有最佳的表现,也就是说,在较老旧的浏览器上可能会导致某些组件表现出的样式有些不同,但是功能是完整的.bootstrap3支持的浏览器: Chrome ...

  8. Qt 线程基础(QThread、QtConcurrent等)

    [-] 使用线程 何时使用其他技术替代线程 应该使用 Qt 线程的哪种技术 Qt线程基础 QObject与线程 使用互斥量保护数据的完整 使用事件循环防止数据破坏 处理异步执行 昨晚看Qt的Manua ...

  9. Geometric deep learning on graphs and manifolds using mixture model CNNs

    Monti, Federico, et al. "Geometric deep learning on graphs and manifolds using mixture model CN ...

  10. 用wamp5和ZendOptimizer搭建环境运行Discuz论坛

    用wamp5和ZendOptimizer搭建环境运行Discuz论坛 用wamp5和ZendOptimizer搭建环境运行Discuz论坛 一: 环境:      1:Windows操作系统(Linu ...