土家陈祠坊咸菜 發表於 2020-9-16 15:45:00

Android Studio 教程:入门开发第一个程序

<h2>开发第一应用</h2>
<p>想要成为一名优秀的Android开发,你需要一份完备的&nbsp;知识体系,在这里,让我们一起成长为自己所想的那样~。</p>
<p>可以开发属于自己的应用,是否有点小激动?好吧!让我们开始,首先点击Start a new Android Studio Project创建工程:</p>
<p><img src="https://imgconvert.csdnimg.cn/aHR0cHM6Ly91cGxvYWQtaW1hZ2VzLmppYW5zaHUuaW8vdXBsb2FkX2ltYWdlcy8yNDA5OTk5Mi04N2JlODhhM2EzYzc1YmQ5LmpwZw?x-oss-process=image/format,png"></p>
<p>接下来需要输入应用名称(第一个字母要大写)、公司域以及指定应用存放目录,点击Next按钮进入下一步:</p>
<p><img src="https://imgconvert.csdnimg.cn/aHR0cHM6Ly91cGxvYWQtaW1hZ2VzLmppYW5zaHUuaW8vdXBsb2FkX2ltYWdlcy8yNDA5OTk5Mi00NWUyYjNlMWYxMDQ2ZGI1LmpwZw?x-oss-process=image/format,png"></p>
<p>如果第一个字母不是大写,会提示:<code>The application name for most app begins with an uppercase letter</code></p>
<p>接下来需要选择开发什么设备(可选“手机和平板”、“穿戴(Wear)”、“TV”,“车载(Android Auto)”等)上的应用,以及确定最小SDK的版本号。</p>
<p>Minimum SDK的作用是在应用安装前,会对设备的Android版本做校验,如果设备的Android版本低于这个最小版本会阻止用户安装应用。</p>
<p><img src="https://imgconvert.csdnimg.cn/aHR0cHM6Ly91cGxvYWQtaW1hZ2VzLmppYW5zaHUuaW8vdXBsb2FkX2ltYWdlcy8yNDA5OTk5Mi00Mjk0YjI4NDNhOGVhOTVlLmpwZw?x-oss-process=image/format,png"></p>
<p>如果不知道怎么选择最小版本可以点击Help me choose看看每个版本的分布图表和描述:</p>
<p><img src="https://imgconvert.csdnimg.cn/aHR0cHM6Ly91cGxvYWQtaW1hZ2VzLmppYW5zaHUuaW8vdXBsb2FkX2ltYWdlcy8yNDA5OTk5Mi05NGViOWQwMzQxMzY2M2IyLmpwZw?x-oss-process=image/format,png"></p>
<p>继续点击Next按钮进行下一步,我们需要通过形象友好的GUI模板,来选择我们第一个Activity的样式:</p>
<p><img src="https://imgconvert.csdnimg.cn/aHR0cHM6Ly91cGxvYWQtaW1hZ2VzLmppYW5zaHUuaW8vdXBsb2FkX2ltYWdlcy8yNDA5OTk5Mi02ZGEyMDc2ZWYyNjk5NjNkLmpwZw?x-oss-process=image/format,png"></p>
<p>然后需要给Activity和Layout起一个名字。</p>
<p><img src="https://imgconvert.csdnimg.cn/aHR0cHM6Ly91cGxvYWQtaW1hZ2VzLmppYW5zaHUuaW8vdXBsb2FkX2ltYWdlcy8yNDA5OTk5Mi0zMjdmYmI3NTIwNzcwMTE0LmpwZw?x-oss-process=image/format,png"></p>
<p>点击Finish按钮后,Android Studio开始创建并编译应用。编译结束后,我们就可以看到Android Studio的IDE界面了。</p>
<p><img src="https://imgconvert.csdnimg.cn/aHR0cHM6Ly91cGxvYWQtaW1hZ2VzLmppYW5zaHUuaW8vdXBsb2FkX2ltYWdlcy8yNDA5OTk5Mi0wNGE4MTEyNDM0MDAyOTUyLmpwZw?x-oss-process=image/format,png"></p>
<p>从图上可以看出Android Studio已经帮我们将工程组织的很好了。</p>
<h2>界面介绍</h2>
<p><img src="https://imgconvert.csdnimg.cn/aHR0cHM6Ly91cGxvYWQtaW1hZ2VzLmppYW5zaHUuaW8vdXBsb2FkX2ltYWdlcy8yNDA5OTk5Mi1hMGEwNWVkNGY3NzRlYWNmLmpwZw?x-oss-process=image/format,png"></p>
<p>如上图所示,我将界面分为5个区域做详细的讲解:</p>
<h3>区域1介绍</h3>
<p><img src="https://imgconvert.csdnimg.cn/aHR0cHM6Ly91cGxvYWQtaW1hZ2VzLmppYW5zaHUuaW8vdXBsb2FkX2ltYWdlcy8yNDA5OTk5Mi0xZjdiM2U0ZDY0YWM2ZThmLmpwZw?x-oss-process=image/format,png"></p>
<p>这个区域是运行和调试相关的操作。</p>
<p>1、编译2中显示的模块</p>
<p>2、当前项目的模块列表</p>
<p>3、运行2中显示的模块</p>
<p>4、调试2中显示的模块</p>
<p>5、测试2中显示的模块代码覆盖率</p>
<p>6、调试安卓运行的进程</p>
<p>7、重新运行2中显示的模块</p>
<p>8、停止运行2中显示的模块</p>
<h3>区域2介绍</h3>
<p><img src="https://imgconvert.csdnimg.cn/aHR0cHM6Ly91cGxvYWQtaW1hZ2VzLmppYW5zaHUuaW8vdXBsb2FkX2ltYWdlcy8yNDA5OTk5Mi03YjVlNDQyYWZhZjNmYzJhLmpwZw?x-oss-process=image/format,png"></p>
<p>这个区域主要是和Android设备和虚拟机相关的操作。</p>
<p>1、虚拟设备管理。</p>
<p>2、同步工程的Gradle文件,一般在Gradle配置被修改的时候需要同步一下。</p>
<p>3&nbsp;、项目结构,一些项目相关的属性配置。</p>
<p>4、Android SDK管理</p>
<p>5、Genymontion模拟器(需要装Genymontion插件,安装篇[模拟器安装]部分)</p>
<h3>区域3介绍</h3>
<p><img src="https://imgconvert.csdnimg.cn/aHR0cHM6Ly91cGxvYWQtaW1hZ2VzLmppYW5zaHUuaW8vdXBsb2FkX2ltYWdlcy8yNDA5OTk5Mi1hZDkwYjgwY2U4MjhlMDA4LmpwZw?x-oss-process=image/format,png"></p>
<p>这个区域主要是工程文件资源等相关的操作。</p>
<p>1、展示项目中文件的组织方式,默认是以Android方式展示的,可选择“Project、Packages、Scratches、ProjectFiles、Problems…”等展示方式。平时用的最多的就Android和Project两种。</p>
<p>2、定位当前打开文件在工程目录中的位置。</p>
<p>3、关闭工程目录中所有的展开项。</p>
<p>4、额外的一些系统配置,点开后是一个弹出菜单:<br><img src="https://imgconvert.csdnimg.cn/aHR0cHM6Ly91cGxvYWQtaW1hZ2VzLmppYW5zaHUuaW8vdXBsb2FkX2ltYWdlcy8yNDA5OTk5Mi01ZThhNzk4NWM1ZDI5MThiLmpwZw?x-oss-process=image/format,png"></p>
<p>Autoscroll to Source&nbsp;和&nbsp;Autoscroll from Source两个勾选起来后,Android Studio会自动定位当前编辑文件在工程中的位置,用起来会很爽。其他功能大家可以自己摸索摸索。</p>
<h3>区域4介绍</h3>
<p><img src="https://imgconvert.csdnimg.cn/aHR0cHM6Ly91cGxvYWQtaW1hZ2VzLmppYW5zaHUuaW8vdXBsb2FkX2ltYWdlcy8yNDA5OTk5Mi03YzQ3ZTczNGQ0OTZjZjBjLmpwZw?x-oss-process=image/format,png"></p>
<p>这个区域主要是用来编写代码和设计布局。</p>
<p>1、已打开的文件的Tab页。(在Tab页上按下Ctrl键&nbsp;+&nbsp;点击鼠标会出现一个弹出菜单会有惊喜哦!)</p>
<p>2、UI布局预览区域。</p>
<p>3、布局编辑模式切换,对于一些老鸟来说更喜欢通过Text来编辑布局,新手可以试试Design编辑布局,编辑后再切换到Text模式,对于学习Android布局设计很有帮助。</p>
<h3>区域5介绍</h3>
<p><img src="https://imgconvert.csdnimg.cn/aHR0cHM6Ly91cGxvYWQtaW1hZ2VzLmppYW5zaHUuaW8vdXBsb2FkX2ltYWdlcy8yNDA5OTk5Mi0wNDI1YjY5Mjg0NmVkMTExLmpwZw?x-oss-process=image/format,png"></p>
<p>这个区域大部分是用来查看一些输出信息的。</p>
<p>1、终端&nbsp;-&nbsp;喜欢命令行操作的伙伴不用额外启动终端了。</p>
<p>2、监控&nbsp;-&nbsp;可以查看应用的一些输出信息。</p>
<p>3、信息&nbsp;-&nbsp;工程编译的一些输出信息。</p>
<p>4、运行&nbsp;-&nbsp;应用运行后的一些相关信息。</p>
<p>5、TODO -&nbsp;标有TOTO注释的列表。</p>
<p>6、事件&nbsp;-&nbsp;一些事件日志。</p>
<p>7、Gradle控制台,通过这个可以了解Gradle构建应用的时候一些输出信息。</p>
<h2>Android Studio目录结构</h2>
<p><img src="https://imgconvert.csdnimg.cn/aHR0cHM6Ly91cGxvYWQtaW1hZ2VzLmppYW5zaHUuaW8vdXBsb2FkX2ltYWdlcy8yNDA5OTk5Mi03ZTRmNmIzMGM0MDJmMmQ1LmpwZw?x-oss-process=image/format,png"></p>
<p>1、Gradle编译系统,版本由wrapper指定</p>
<p>2、Android Studio IDE所需要的文件</p>
<p>3、应用相关文件的存放目录</p>
<p>4、编译后产生的相关文件</p>
<p>5、存放相关依赖库</p>
<p>6、代码存放目录</p>
<p>7、资源文件存放目录(包括:布局、图像、样式等等)</p>
<p>8、应用程序的基本信息清单,描述哪些个组件是存在的</p>
<p>9、git版本管理忽略文件,标记出哪些文件不用进入git库中</p>
<p>10、Android Studio的工程文件</p>
<p>11、模块的gradle相关配置</p>
<p>12、代码混淆规则配置</p>
<p>13、工程的gradle相关配置</p>
<p>14、gradle相关的全局属性设置</p>
<p>15、本地属性设置(key设置,android sdk位置等属性)</p>
<h2>应用开发调试</h2>
<p><img src="https://imgconvert.csdnimg.cn/aHR0cHM6Ly91cGxvYWQtaW1hZ2VzLmppYW5zaHUuaW8vdXBsb2FkX2ltYWdlcy8yNDA5OTk5Mi1jMDYwMzUwYzI3MzBkOGQ4LmpwZw?x-oss-process=image/format,png"></p>
<p>如上图1所示在需要调试的行号处点击设置断点,然后点击2所示的Debug按钮(或直接按下Shift+F9快捷键)开始调试。</p>
<p><img src="https://imgconvert.csdnimg.cn/aHR0cHM6Ly91cGxvYWQtaW1hZ2VzLmppYW5zaHUuaW8vdXBsb2FkX2ltYWdlcy8yNDA5OTk5Mi1iZTYyMWFhMzRiODAzNTgxLmpwZw?x-oss-process=image/format,png"></p>
<p>如上图所示Android Studio下方出现了调试视图。</p>
<p>1、当前程序停留的代码行</p>
<p>2、调试相关的一些按钮</p>
<p>3、程序调用栈区,该区域显示了程序执行到断点处所调用过的所有方法,越下面的越早被调用。</p>
<p>4、局部变量观察区</p>
<p>5、用户自定义变量观察区</p>
<p><img src="https://imgconvert.csdnimg.cn/aHR0cHM6Ly91cGxvYWQtaW1hZ2VzLmppYW5zaHUuaW8vdXBsb2FkX2ltYWdlcy8yNDA5OTk5Mi1hMzFkZmJkZjQxN2Y4NDAxLnBuZw?x-oss-process=image/format,png"></p>
<p>1、Step Over(F8) -&nbsp;程序向下执行一行,如果当前行有方法调用,这个方法执行完毕返回,然后到下一行。</p>
<p>2、Step Into(F7) -&nbsp;程序向下执行一行,如果当前行有用户自定义方法(非官方类库方法)调用,则进入该方法。</p>
<p>3、Force Step Into(Alt+Shift+F7) -&nbsp;程序向下执行一行,如果当前行有方法调用,则进入该方法。</p>
<p>4、Step Out(Shift+F8) -&nbsp;如果在调试的时候你进入了一个方法,并觉得该方法没有问题,你就可以使用Step Out跳出该方法,返回到该方法被调用处的下一行语句。值得注意的是,该方法已执行完毕。</p>
<p>5、Drop Frame -&nbsp;点击该按钮后,你将返回到当前方法的调用处重新执行,并且所有上下文变量的值也回到那个时候。只要调用链中还有上级方法,可以跳到其中的任何一个方法。</p>
<p>6、Run to Cursor(Alt+F9) -&nbsp;一直运行到光标所在的位置。</p>
<p>7、Resume Program(F9) -&nbsp;一直运行程序直到碰到下一个断点。</p>
<p>8、View Backpoints(Ctrl + Shift +F8) -&nbsp;查看你设置过的所有断点并可以设置断点的一些属性</p>
<p>9、Mute Backpoints -&nbsp;选中后所有的断点别设置成无效状态。再次点击可以重新设置所有断点有效。</p>
<p>在点击了View Backpoints按钮后,会出现一个断点属性窗口,可以对断点进行一些更高级的设置。</p>
<p><img src="https://imgconvert.csdnimg.cn/aHR0cHM6Ly91cGxvYWQtaW1hZ2VzLmppYW5zaHUuaW8vdXBsb2FkX2ltYWdlcy8yNDA5OTk5Mi04NmFlMGFlZDRhNGZhNDg3LmpwZw?x-oss-process=image/format,png"></p>
<p>1、列出了所有程序中设置的断点</p>
<p>2、可以输入条件,在条件成立后断点才起作用(例如:在输入框中输入&nbsp;i == 8),这种带条件断点在实际开发过程中非常有用。也可以通过右键点击断点来设置条件断点,如下图:<br><img src="https://imgconvert.csdnimg.cn/aHR0cHM6Ly91cGxvYWQtaW1hZ2VzLmppYW5zaHUuaW8vdXBsb2FkX2ltYWdlcy8yNDA5OTk5Mi0zYzJjODMxMjFhZTA2YWU2LnBuZw?x-oss-process=image/format,png"></p>
<p>好了,到这里调试相关的功能都介绍完了。</p>
<h2>应用打包签名</h2>
<h3>基础</h3>
<p>一个&nbsp;Android Studio&nbsp;项目中,会存在多个&nbsp;.gradle&nbsp;文件。其中,&nbsp;project&nbsp;目录下存在一个&nbsp;build.gradle&nbsp;文件和每一个&nbsp;module&nbsp;会存在一个&nbsp;build.gradle&nbsp;文件。</p>
<p>工程中的build.gradle</p>
<pre class="prettyprint"><code class="has-numbering">buildscript&nbsp;{
        repositories&nbsp;{        &nbsp;
        &nbsp;&nbsp;jcenter()&nbsp;&nbsp;&nbsp;//&nbsp;声明使用&nbsp;maven&nbsp;仓库
        }
        dependencies&nbsp;{        &nbsp;
        &nbsp;&nbsp;//&nbsp;依赖android提供的2.1.0-alpha5的gradle&nbsp;build
        &nbsp;&nbsp;classpath&nbsp;'com.android.tools.build:gradle:2.1.0-alpha5'
        }
}
//&nbsp;为所有的工程的repositories配置为jcenters
allprojects&nbsp;{
        repositories&nbsp;{
        jcenter()
        }
}

//&nbsp;清楚工程的任务
task&nbsp;clean(type:&nbsp;Delete)&nbsp;{
        delete&nbsp;rootProject.buildDir
}</code></pre>
<p>模块中的build.gradle</p>
<pre class="prettyprint"><code class="has-numbering">//&nbsp;这表示该module是一个app&nbsp;module
apply&nbsp;plugin:&nbsp;'com.android.application'
android&nbsp;{
        //&nbsp;基于哪个版本编译
        compileSdkVersion&nbsp;23
        //&nbsp;基于哪个构建工具版本进行构建的
        buildToolsVersion&nbsp;"23.0.3"

        //&nbsp;缺省配置主要包括:应用ID,最小SDK版本,目标SDK版本,应用版本号、应用版本名
        defaultConfig&nbsp;{
        &nbsp;&nbsp;&nbsp;&nbsp;applicationId&nbsp;"open_open.com.helloworld"
        &nbsp;&nbsp;&nbsp;&nbsp;minSdkVersion&nbsp;10
        &nbsp;&nbsp;&nbsp;&nbsp;targetSdkVersion&nbsp;23
        &nbsp;&nbsp;&nbsp;&nbsp;versionCode&nbsp;1
        &nbsp;&nbsp;&nbsp;&nbsp;versionName&nbsp;"1.0"
        }

        //&nbsp;buildTypes是构建类型,常用的有release和debug两种,可以在这里面启用混淆,启用zipAlign以及配置签名信息等。
        buildTypes&nbsp;{
        &nbsp;&nbsp;&nbsp;&nbsp;release&nbsp;{
        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;minifyEnabled&nbsp;false
        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;proguardFiles&nbsp;getDefaultProguardFile('proguard-android.txt'),&nbsp;'proguard-rules.pro'
        &nbsp;&nbsp;&nbsp;&nbsp;}
        }

}

//&nbsp;dependencies它定义了该module需要依赖的jar,aar,jcenter库信息。
dependencies&nbsp;{
        compile&nbsp;fileTree(dir:&nbsp;'libs',&nbsp;include:&nbsp;['*.jar'])
        testCompile&nbsp;'junit:junit:4.12'
        compile&nbsp;'com.android.support:appcompat-v7:23.2.1'
}</code></pre>
<h3>打包签名</h3>
<p>选择Build-&gt;Generate Signed APK…,如下图:</p>
<p><img src="https://imgconvert.csdnimg.cn/aHR0cHM6Ly91cGxvYWQtaW1hZ2VzLmppYW5zaHUuaW8vdXBsb2FkX2ltYWdlcy8yNDA5OTk5Mi1kODI5NDZiYTgyZWZjNTRiLnBuZw?x-oss-process=image/format,png"></p>
<p>在弹窗中一直Next直到下面这个界面:</p>
<p><img src="https://imgconvert.csdnimg.cn/aHR0cHM6Ly91cGxvYWQtaW1hZ2VzLmppYW5zaHUuaW8vdXBsb2FkX2ltYWdlcy8yNDA5OTk5Mi03MzI4YmIwYWFkYTFhN2NhLnBuZw?x-oss-process=image/format,png"></p>
<p>在没有Key的情况下,我们可以先点击Create new…按钮来创建一个Key,创建过程很简单,如下图:</p>
<p><img src="https://imgconvert.csdnimg.cn/aHR0cHM6Ly91cGxvYWQtaW1hZ2VzLmppYW5zaHUuaW8vdXBsb2FkX2ltYWdlcy8yNDA5OTk5Mi1jOTJkNjY0MzU2ZmVhNGVjLnBuZw?x-oss-process=image/format,png"></p>
<p>如果你已经存在Key了,那就点击Choose existing…按钮指定.jks文件位置,如下图:</p>
<p><img src="https://imgconvert.csdnimg.cn/aHR0cHM6Ly91cGxvYWQtaW1hZ2VzLmppYW5zaHUuaW8vdXBsb2FkX2ltYWdlcy8yNDA5OTk5Mi05MDM5OTg4ZjZlYmJiZjFhLnBuZw?x-oss-process=image/format,png"></p>
<p>输入Key store password和Key password(在创建Key的时候输入的那两个密码),点击Next按钮:</p>
<p><img src="https://imgconvert.csdnimg.cn/aHR0cHM6Ly91cGxvYWQtaW1hZ2VzLmppYW5zaHUuaW8vdXBsb2FkX2ltYWdlcy8yNDA5OTk5Mi1lYTMyNDcxYjZlMmQ5NTUwLnBuZw?x-oss-process=image/format,png"></p>
<p>接下来就点击Finish按钮,坐等AS打包签名完成,签名完成后AS会提示我们:</p>
<p><img src="https://imgconvert.csdnimg.cn/aHR0cHM6Ly91cGxvYWQtaW1hZ2VzLmppYW5zaHUuaW8vdXBsb2FkX2ltYWdlcy8yNDA5OTk5Mi1hZjE4NjI3N2E1YTNkZWE0LnBuZw?x-oss-process=image/format,png"></p>
<p>点击Show in Explorer,可以找到我们签名好的APK文件:</p>
<p><img src="https://imgconvert.csdnimg.cn/aHR0cHM6Ly91cGxvYWQtaW1hZ2VzLmppYW5zaHUuaW8vdXBsb2FkX2ltYWdlcy8yNDA5OTk5Mi1hZjc2ZDk4YzNmMmM1NzNmLnBuZw?x-oss-process=image/format,png"></p>
<blockquote>
<p>本文在开源项目:https://github.com/Android-Alvin/Android-LearningNotes&nbsp;中已收录,里面包含不同方向的自学编程路线、面试题集合/面经、及系列技术文章等,资源持续更新中…</p>
</blockquote>
<p>原文链接:http://www.apkbus.com/blog-822715-68465.html</p>
<p>&nbsp;</p><br><br>
来源:https://www.cnblogs.com/Android-Alvin/p/13679496.html
頁: [1]
查看完整版本: Android Studio 教程:入门开发第一个程序