Android学习入门的目标就是能够编写出一个完整的APP,有可交互的界面,有基本的功能,有本地的数据库,有与后台的数据交换。在本文我们会了解到如何在AndroidStudio中新建、运行、打包一个APP,一个最简单的APP基本的要素有哪些。
本文已收录至☞Android学习路线_梳理
上一篇☞Android学习路线_工具篇(五)自己造轮子
下一篇☞Android学习路线_入门篇(二)四大组件之Acitvity
现在大多使用AndroidStudio来开发一个Android应用,我们后续使用的开发工具都会是AndroidStudio,如果你的计算机还没有安装AndroidStudio,那就赶紧去下载安装吧。
官方下载地址:AndroidStudio最新版本
首先我们打开AndroidStudio,我的版本是3.6.1,等待漫长的加载完成,你会看到一个基本的开始菜单:
选择第一个Start a new Android Studio project
,我们进入一个选择Activity的界面:
AndroidStudio给我们提供了多种内置的界面,但是通常我们只会选Empty Activity
,自己写的才是最好的,YEAH~。直接点Next
,我们来到了基本信息的设置:
Name
是我们项目的名称,也是APP的默认英文名,可以根据自己的想法来更改。Package name
直译为包名,会设置成APP的id,同时源代码文件的默认路径也会是这个。Save location
就是项目在本地的文件夹路径,这个可以按自己的喜好更改。Language
是开发语言选项,目前有Java和Kotlin两个选项,如果你选了Kotlin,那么AndroidStudio会自动配置好Kotlin的依赖,并且也可以使用Java进行开发。如果你不了解Kotlin,那么就选Java吧,我建议还是要去学一学的,各大公司也都对Kotlin有所要求。Minimum SDK
是APP可支持的最低Android设备版本号,目前所有安卓设备的版本都是大于等于4.0.3的,当然你也可以选更高版本,建议最高不要超过5.0,丢失5%左右的用户还是可以承受的,再多就不好了。了解了各个基本设置,相信你也有了自己的决定,那么让我们点击Finish
,等待AndroidStudio为我们创建APP,完成Loading Project的过程,到这里一个简单的APP就已经创建完成了:
创建APP完成后,就是考虑如何将APP运行到我们的安卓设备上了,在这里我们先来了解一下ADB。ADB全称Android 调试桥,是一种功能多样的命令行工具,可让计算机与Android设备进行通信。我们后续运行或者调试APP都是通过ADB来完成,不过AndroidStudio已经为我们提供了简单的方式来使用ADB,只需要点一个按钮就可以完成运行的任务。
两个红色方框圈选的位置就是我们运行一个APP需要注意的地方。左边的是选中的设备,目前是没有设备连接的,点击后会弹出已连接的设备列表,包括虚拟机也可以在里面看到和启动。右边的是运行按钮,当你选中目标设备后,点击运行按钮,APP就可以直接运行到你的设备上了。
通过数据线将安卓设备连接我们的开发计算机,并且在安卓设备的系统设置中打开开发者模式并开启USB调试,这时就可以看到已连接的设备了。也可以用AndroidStudio自带的安卓虚拟机新建一个虚拟机,启动新建的虚拟机也可以达到一样的效果。
运行在APP上的效果就是一个背景是白色的页面,在页面中心有一个Hello World!
文字。
由于只有一个页面,我们APP运行的效果可以在AndroidStudio中选中activity_main
,切换预览模式为Split
或是Design
来进行预览,这里我选中了Split
:
另外,对于项目的文件展示,默认是Android模式,此时看到的文件是经过AndroidStudio筛选过的Android开发核心文件,我推荐切换成Project模式,此模式下各文件的展示和硬盘上各文件的路径是一致的。切换方法如图:
切换完成后可以看到,项目的所有文件都能正常看到了:
在我们运行APP到设备时,AndroidStudio自动为我们完成了APP打包的过程,但是它为我们生成的安装包是debug版本,不能够正常发布应用到应用市场,部分手机也无法直接通过debug安装包完成APP的安装。如果我们的APP已经完成了开发工作,那么接下来需要的就是打包了,通过AndroidStudio生成一个release版本的安装包。
首先,我们打开Build
菜单组,选择Generate Signed Bundle / APK...
菜单,弹出如图弹框:
我们选中APK
,点击Next
进入下一步:
Module
是需要打包的项目模块,默认选中appKey store path
是打包所用的秘钥库,用来对生成的安装包进行签名,确保安装包的真实性,由于安卓反编译很容易,所以秘钥库一定不能泄露Key store password
是秘钥库的访问密码Key alias
是存在秘钥库中秘钥的别名Key password
是选中秘钥的访问密码由于我们是第一次使用打包功能,没有创建过秘钥库,所以我们要先点击Create new
,当然如果是有现成的秘钥库,那么就点击Choose existing
进入文件系统选择。我们来看看如何创建一个秘钥库:
首先我们选择好秘钥库的路径,输入中意的密码,记得在Confirm输入框中第二次输入密码确认哦。然后命名一个秘钥,同样是输入两次密码,这里有个Validity (years)
秘钥可用年数,建议输入999,毕竟我们也不能确定我们的软件会有多长的生命。最后是Certificate
表单,这块内容至少需要填一个,通常都是填一个Country Code
为CN。点击OK就好啦,返回上一个弹框时AndroidStudio会自动为我们填写好刚创建的秘钥信息,勾选Remember passwords
以后就可以都不用再填写啦:
没有问题就点Next
进入下一步:
此时我们要选择release
版本,同时勾选V1和V2两种签名方式,点击Finish等待AndroidStudio执行打包工作。打包完成后,我们可以在左边的Project中看到新生成的release
文件夹和app-release.apk
安装包:
生成的app-release.apk
安装包就可以用来上传应用市场,也可以直接发给你的小伙伴,让他用手机安装上试试看啦。
到这里我们已经完成了一整个APP创建、运行、打包的流程,但是一个APP需要哪些东西我们还不清楚,那些文件那些代码都是AndroidStudio自动生成的。那么我们就来看看一个APP需要哪些基本要素吧。
首先是AndroidManifest.xml
文件,这里是项目的清单,语法是XML,列出了APP的各个关键信息:
通常在这里我们会列出APP所需的各种权限,配置application的属性,注册Activity、Service、BroadcastReceiver、ContentProvider,指定一些全局的属性值。
android:icon
是应用图标,android:roundIcon
是圆形的应用图标,android:label
是应用名称,android:theme
是应用全局主题样式,android:allowBackup
是允许备份,其他属性后续遇到了再了解也不迟。MainActivity
,后续在四大组件的博客中详细介绍。
标签完成配置,后续集成第三方库可能会遇到这种配置,通过android:name
和android:value
配置全局的属性值,可在代码中获取后使用。一个APP至少需要一个Activity
以及与其对应的layout
,这样用户才可以进入APP界面正常使用。
Activity
直译为活动,但是叫界面的话可能更直观一点,它是与用户的输入输出直接接触的组件。在我们创建的APP中就有一个MainActivity
,用Java或者Kotlin编写。layout
是布局,使用XML语法编写,是用于编写页面展示的,在我们创建的APP中就有一个activity_main
,可以在AndroidStudio中实时预览页面效果。其实直接用Java或者Kotlin也可以在Activity中写页面展示,但是写起来会复杂一些,而且可读性也很差,更没有实时预览效果。项目中app/src/main/res
文件夹下的所有文件都是资源文件,包括前面说的layout。常用的资源文件有:anim动画、color颜色、drawable可绘制对象(通常是Drawable和图片)、font字体、layout布局、menu菜单、mipmap图标(通常只有应用图标)、raw原始文件、value值数据(colors颜色、strings文字、styles主题样式、attrs控件属性等等)。
在我们的AndroidManifest
中有用mipmap
指定应用图标,还有用strings
指定应用名称,也用了styles
设定application的主题样式。
这是一个构建APP的配置文件,使用Groovy语法编写,通常简单项目需要更改的地方有apply plugin插件依赖、android{defaultConfig}基础配置、dependencies库依赖。
apply plugin
位于最顶部,是一些编译插件的依赖android{defaultConfig}
里是一些基础配置,minSdkVersion是最低支持的安卓版本,targetSdkVersion是目标支持的安卓版本,versionCode是APP的版本代码(发新版本必须比现有版本大),versionName是APP展示的版本名称dependencies
是对一些代码库的依赖,用别人造的轮子搭建你想要的APP,用关键字implementation依赖你看中的代码库,可以去GitHub上多看看优秀的开源库今天的分享就到这里,文章多有不足,各位小伙伴有什么想法可以直接评论或是私信,要是对你有所帮助就给我一个赞吧,喜欢我的小伙伴可以关注我哦~
本文已收录至☞Android学习路线_梳理
上一篇☞Android学习路线_工具篇(五)自己造轮子
下一篇☞Android学习路线_入门篇(二)四大组件之Acitvity