Android Studio 3.4.1入门教程
本文对自学者遇到的情况进行比较细致的讲解,解决初学者入门难,得不到成功体验,不能深入的问题。入了门,才能谈得上深入学习,特此写本文,供新手参考,以便新手少走弯路。
Android(安卓)是一个开源的,基于Linux的移动设备操作系统,主要使用于移动设备,如智能手机和平板电脑。Android是由谷歌及其他公司带领的开放手机联盟开发的。2007年11月5日,Google(谷歌)公司正式向外界展示了这款名为Android的操作系统,并且在这天谷歌宣布建立一个全球性的联盟组织,此后不断更新,2018 年 5月 9日,发布Android 9。
这里演示安装64位的 3.4.1版本【特别指明,版本3.x和版本2.x相比变化较大】
分三部分:第一部分 Android 开发环境搭建;第二部分 新建第一个项目MyAppTest,并运行;第三部分、小移动应用程序进一步设计。重点在于第三部分,本文也适用于2019年11月发布的Android Studio3.5.2。
第一部分 Android 开发环境搭建
Android 应用程序开发所需的所有工具都是免费的,可以从网上下载。这里介绍的是在Windows10中使用Android Studio搭建Android开发环境。
Android Studio是谷歌推出的一个Android集成开发工具,提供了集成的 Android 开发工具用于开发和调试,基于IntelliJ IDEA.,类似 Eclipse ADT。2013年5月16日,在I/O大会上,谷歌推出新的。 2019年5月Android Studio 3.4.1稳定版发布。【顺便一提,Android Studio 从 3.0起版本开始内置安装 Kotlin
要使用Android Studio,需要先要安装配置JDK,再安装Android Studio。
关于安装配置JDK,不多说,可参见:
这儿介绍Android Studio安装。先进入这个页面下载
或
https://developer.android.google.cn/studio/#downloads
这里演示安装64位的android studio 3.4.1,下载完成后直接双击安装包,就会出来下面这个界面
点击“Next”:
点击“Next”:
在此可以,指定安装路径,点击“Next”:
点击“Installl”,等待一会儿:
点击“Next”:
点击“Finish”
选择是否import(导入)之前的配置,我们是首次安装运行,不改变默认,点击“OK”,稍等:
点击 Don’t send
Android包中没有包含SDK,选择第一项是在线下载SDK,我们选择第二项“Cancel”暂时不下载,点击Cancel。【不用担心,后面也会自动安装】
点击 Next
选择安装类型,Standard(标准)还是Custom(自定义)
选“Standard”,然后“Next”
选择你想要的主题风格,单击Darcula,再单击 Next
提示下载所需的Android SDK,如果预先没有安装Android SDK,点击“Finish”进行下载安装,如果之前安装了,则可以点“cancel”。【SDK(Software Development Kit、软体开发工具包)为辅助开发某类软件的相关文档、范例和工具的集合。广义上指辅助开发某一类软件的相关文档、范例和工具的集合。】
因为没有预先安装Android SDK,确保在线,点击Finish进行下载安装
完后点击 Finish
【其中
Start a new Android Studio project:
新建一个Android Studio项目
Open an existing Android Studio project:
打开一个已存在的Android Studio项目
Check out project from Version Control:
从版本控制系统中检出一个项目
Profile or debug APK
配置文件或调试APK
Import project(Eclipse ADT,Gradle,etc.):
从Eclipse或Gradle中导入项目
Import an Android code sample:
导入一个Android示例代码】
至此完成安装。
第二部分 新建第一个项目MyAppTest,并运行
启动Andriod Studio
单击“Start a new Andriod Studio project”
出现
这里,作为测试,选择Basic Activity , 点击Next
Name输入框中输入 MyAppTest
点击“Finish”,请耐心等待构建项目框架。
若出现“Tip of the Day”(每日提示;每日一帖)关闭之。
请耐心等待,直到出现如下界面,中间部分是布局编辑器:
【如果你看到的视图不是这样的,请在左侧Project Exlorer中依次展开app -> res ->layout,再双击content_main.xml即可。】
布局编辑器简介
布局编辑器是界面的中间部分,参见下面的图,包括:
1. 工具箱:含有可以拖动到布局内的视图和组件。
2. 组件树:查看布局的层次结构。
3. 工具栏:用于在编辑器中配置布局外观和更改某些布局属性的按钮。
4. Design 编辑器:Design 视图布局和 Blueprint 视图布局之一或两者。
5. 属性:针对选定视图属性的组件(控件)。
单击左下方的Design和Text,可以切换Design/Text。
Android studio的项目架构,主要有两类文件组成,一是程序文件(mainactivity.java),二是.xml界面布局文件(content_main.xml、activity_main.xml)。程序文件主要进行逻辑程序的编写,.xml界面布局文件相当于图形界面,我们可以进行一些组件(控件)的布局等操作,然后在程序文件中进行逻辑程序的编写和对组件(控件)的调用。
Android开发当中,用户界面定义方法,可以直接编写XML代码完成;也可用可视化的方式实现,可视化操作的背后仍然还是使用的XML代码来实现的,只不过这些代码是由Android Studio根据我们的操作自动生成的。单击左下方的Design和Text,可以在界面上组件布局和组件布局代码切换。
新建的空项目,Android Studio会自动帮我们创建好一个布局,Android Studio 3 布局默认使用的是ConstraintLayout,参见下图。
在Design 编辑器中Preview面板中央,有一个默认的TextView组件(控件),内容为“Hello World!”,单击它,在右侧属性中可以看到它的具体信息。
【关于界面布局文件activity_main.xml和content_main.xml补充说明
在新建工程时候选择Empty Activity 这个模板则layout目录里只有activity_main.xml ;选择Basic Activity这个模板,layout目录里会出现activity_main.xml 和content_main.xml。
android studio 新设计模式(new design pattern),activity_main主要负责的是整个页面布局,决定活动(activity,活动通俗地说是一个用户界面屏幕)的外观,其中,使用了一个<include/>标签把content_main放进activity_main布局中。content_main.xml包含textview、edittext、button等组件布局。】
现在,我们先不进行往下设计,先对这个小移动应用程序运行看看,先在AVD(Android虚拟设备)中看看。
Android Studio安装后,若要在计算机上运行移动应用需要AVD(Android Virtual Device、Android虚拟设备),如果你未预先使用菜单Tools ->AVD Manager建立配置模拟器,第一次运行项目——单击运行
按钮,或使用菜单 Run -> Run ’app’,出现建立模拟器界面:
Android虚拟设备(也称为模拟器)
Android Studio安装后,因为PC上没有Android操作系统无法直接运行移动应用,需要在PC上创建一个Android虚拟设备,用于运行移动应用。
默认Pixel2,或选择Nexus 6P,这儿按默认,单击Next 按钮
【有人建议Pixel2或Nexus 6P,其他的有点丑】
下载时间可能稍微长一点,耐心等待:
单击“Finish”按钮后:
此时,单击“Finish”按钮后:
提示,如出现如下的“Troubleshoot”提示框,
需要重启电脑在BIOS中的Security 设置中去打开它。
若无上述提示,请耐心等待(有时需要几分钟),可以观察AndriodStudio下部、状态栏信息的变化,当出现如下显示,表示MyAppTest应用在Android虚拟设备中启动成功。
手机界面右边的竖立的工具条,是对模拟手机各种工具按钮,如开机调节音量大小等。
用Android虚拟设备(也称为模拟器)运行时,可以观察Andriod Studio底部右下角提示信息的变化。
【顺便提示:如何新建或删除已建立的虚拟机:Tools ->AVD Manager
】
在Android设备如手机中运行
现在看看如何将这个小移动应用程序在Android设备如手机中运行
先通过数据线将手机连接到电脑上,在手机中操作:设置->关于手机->版本号 [多次点击]->开发者选项->USB调试 [允许],之后,
在电脑中,单击运行
按钮,或使用菜单 Run -> Run ’app’,出现建立模拟器界面:
请等待一会儿。等应用程序传输到手机上,你就可以在手机上试运行了。
到目前为止,MyAppTest这个小移动应用程序界面和代码都是Android Studio自动完成的,重点来了。
第三部分、小移动应用程序进一步设计
重点来了,下面完善MyAppTest这个小移动应用程序,添加自己的新东西,这是真正设计小移动应用程序需要掌握的。
单击“Design 编辑器”中间,内容为“Hello World”标签,按下“Delete”键删除之。
(一)用户设计界面设计
Android Studio中常用基础组件(控件)有,TextView 文本框、Button 按钮、EditText 编辑框、ImageView图像等。
本例中,我们使用两个组件(控件):Button和TextView
先添加一个按钮组件(控件)
打开content_main.xml【请在左侧Project Exlorer中依次展开app -> res ->layout,再双击content_main.xml即可】
从Palette面板中,先单击,再拖动 Button,放到Design 编辑器中白色的Preview面板上,其ID默认为button,可以修改,在此不改使用默认。
特别提示,Android Studio
ConstraintLayout的基本用法很简单,比如我们想要向布局中预览(previce)界面上添加一个按钮,那么只需要从左侧的Palette区域拖一个Button进去就可以了,虽说现在Button已经添加到界面上了,但是还没有给Button添加任何的约束,出现红色感叹号标识,这需要按下面方法添加约束。
红色感叹号问题的处理
Andriod Studio往布局中添加组件时出现红色感叹号,报“This view is not constrained,
大意是 没有被约束(not constrained)
怎么办呢?
切换到Design选型卡,先单击布局中的组件,再单击
(infer Constrains按钮),参见下图:
此时,变为:
黄色三角形警告问题的处理
若出现黄色三角形标识警告Hardcoded string "Button", should use @string resource,参见上图,如何处理?
单击黄色三角形
现在,黄色三角形警告标识消失。
【你还可以切换到Text选型卡,看看,在此就不图示了。在其中看到类似下面的语句:
……
android:id="@+id/textView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
……
你可以在此编写、修改之。其中
android:id="@+id/ textView ":定义新资源标识符textView,在代码或其他XML属性中使用。@+表示定义新内容,@表示引用已在其他地方定义过的内容。
你还可能看到这样的语句:
android:padding="@dimen/menu_padding":让Android在视图内部留出少量的空间。 如果要在视图外部留出空间,可使用属性margin。 间接值(如@dimen/menu_padding)间接值被定义后,可将鼠标指向它或单击它以显示原始引用,再按住Ctrl并单击引用以查看其定义。
android:textAppearance="?android:textAppearanceLarge":让文本字体比常规状态更大、更粗。?表示引用了当前主题中定义的一个常量。主题定义了数百个常量,用于控制应用中每个视图的外观和行为。
】
【特别指出
单击一个组件(控件),参见下图,它的上下左右各有一个圆圈,四角上有四个正方形,可以拖动这圆圈来添加约束的,可以拖动正方形来调整组件(控件)大小。
顺便提示,在(界面和代码)设计过程中,有两个快捷键 Ctrl+Z、Ctrl+Shift+Z,用于撤销(Undo)、重做(Redo)
】
现在再添加一个文本组件(控件),
从Palette面板中,先单击Text,再拖动TextView,放到白色面板上,将其text属性原为TextView修改为 我的测试,其ID默认为textView,可以修改,在此不改使用默认。
如出现红色感叹号、黄色三角形,按上面方法处理。
(二)代码设计
为按钮设置点击事件代码
先为按钮在xml界面设置方法onClick
在<Button下面加入
android:onClick="onclick"
意思为,点击这个Button后,onclick函数会响应,参见下图
此时,又出现红色感叹号如下图
这是因为,缺少相关的代码,下面解决。
然后,在相应的java代码(MainActivity.java)中
在public class MainActivity extends AppCompatActivity { 之前加入
import android.view.View; //
import android.widget.TextView; //
在public class MainActivity extends AppCompatActivity { 之后加入
int size=30; //
public void onclick(View v){
TextView txv;
txv=findViewById(R.id.textView);
txv.setTextSize(++size);
}
【提示:组件的id为XXXX,在.java文件可以用findViewById(R.id.XXXX)获取它】
参见下图:
运行后,耐心等待:
点击
试试,每点击一次其中的“我的测试!”变大一点。
本文主要讲解使用Android Studio创建项目、调试项目的最基本使用。示例比较简单,是为了避免过于繁杂的细节分心干扰,例子虽简单,但基本过程涉及到了。本文主要解决初学者入门难,得不到成功体验,不能深入的问题,在此基础上才能谈得上深入学习。
项目(Project)管理窗口[项目目录]介绍
Android Studio的项目(Project)管理窗口,有3种模式:Project、 Packages和Android。要切换模式,可使用窗口名旁边的下拉列表。
简要说明几点:
其中表示有下层(下级),表示已展开,单击它们可以切换。
1)manifest文件夹里面只有一个AndroidManifest.xml文件,在这个文件里,我们是对整个app进行一些设置,例如app的logo,app一进去的启动页面,app的名字...
2)manifest文件夹里面只有一个AndroidManifest.xml文件,在这个文件里,我们是对整个app进行一些设置,例如app的logo,app一进去的启动页面,app的名字...
3)layout文件夹里面放的是“画页面”的.xml文件,里面的文件也叫布局文件。如果你会html&css&js的话,就很好理解了。.xml文件的作用就和.html和.css文件的作用类似,页面需要什么组件?怎么布局?用一些什么样式?都在.xml里面设置。但是对于一些复杂的样式,在.xml文件里面可能设置不了那么精美,就可以在java文件里面设置。
你将在项目的res 目录中创建和存储资源。资源是本地化的文本字符串、位图或程序需要的其他非代码信息。在编译阶段,所有资源都 将被编译到应用中,这有助于国际化和对多种设备的支持。Android资源编辑器文件夹和格式对其进行处理。例如,对于PNG和JPG格式的位图,应放在目录res/drawable下,而 描述布局的XML文件应放在目录res/layout下。可以添加相应的后缀,以指定语言、屏幕朝向、像素密度等。
drawable指的是可在屏幕上绘制的任何图形对象。位图是最简单的drawable ,通常以PNG或 JPG格式存储。在主屏幕上,应用的启动图标就是位图。
在Android中,颜色是以#RRGGBB或#AARRGGBB的形式指定的。其中,RR、GG、BB分别 以十六进制的方式指定了红色、绿色和蓝色组分,AA为alpha组分。这些十六进制数字的取值范围为00(0)~ FF(255)。例如,#FF0000表示纯红色,而#FFFFFF表示白色。
alpha组分是可选的,表示颜色的透明度,取值范围为0(完全透明)~255(完全不透明)。如果没有设置alpha组分,颜色将是完全不透明的。
在Android Studio中,要创建目录,可右击父目录(这里为res),再选择New->Directory,然后输入目录名。也可以使用Android资源目录向导,但我发现最简单的方式就是最好的。项目窗口的默认模式为Android ,在这种模式下,看不到目录drawable-xxhdpi ,但它确实存在。如果你尝试将文件粘贴到文件夹drawable中,系统将要求你指定目标目录。 其中的后缀xxhdpi表示超高(extra extra high)密度。有关该资源目录名指定后缀(目录名限定符)的更详细信息,在此就不深入介绍了。
字符串 在程序代码和布局中,不以硬编码的方式指定文本字符串,而是将所有的文本字符串都存储在一个地方——文件夹res/values中的资源文件strings.xml。这样,在需要将应用推向外国市场时,翻译这些字符串的工作将容易得多。
尺寸,尺寸资源可用于任何需要指定长度的地方。所有尺寸资源都放在一个尺寸文件(文件夹res/values下的文件dimens.xml)中,这样有助于在不修改代码的情况下支持不同尺寸的Android设备。
Android开发需要了解的重要概念很多,这些不可能一下子掌握,例如,在Android SDK中定义了一些每个开发人员都必须熟悉的对象,其中最重要的是活动、片段、视图、意图、服务和内容提供器。
活动是一个用户界面屏幕。应用可以定义一个或多个活动,用于处理程序的不同阶段。
视图是最小的用户界面单元,可以直接包含在活动中,也可以包含在活动的片段中。视图可使用Java代码来创建,但更佳的方式是使用XML布局来定义。每个视图都有一系列的属性,它们决定了视图的功能、行为和外观。
关于这些,只能逐步深入,通过实践增强认识。
最后特别指出,AndroidStudio作为一个年轻集成开发环境,变化频繁,正在变得越来越完善,但是,各种版本的工程之间产生多种奇怪的报错问题,例如、Android Studio导入别人的项目(Open an existing Android Studio project),很不容易。
延展阅读
Android Studio 常用的菜单功能
Android入门系列
Documentation for app developers(应用程序开发人员文档)
https://developer.android.google.cn/docs
附录、
1、Android Studio3.4.1设置字体
File -> Settting出现如下图的界面
Editor--->Font直接修改size里的数值即可。
2、更换UI Theme风格
打开File ->Settings出现如下图的界面
Appearance & Behavior -> Appearance ,在右侧会看到有一个Theme 的选项,可以在这里设置
3、打开已建立的项目
File ->Open出现如下图的界面
4、默认布局(Default layout)的更换
布局(.xml布局文件)到底是什么呢?布局是指页面内容该如何排布,比如组件(控件)和父容器的位置关系以及组件(控件)与组件(控件)之间的位置关系是怎样的。
将Android Studio 3.4.1默认布局ConstraintLayout切换成其它布局如LinearLayout。
【AndroidStudio里面支持的布局有挺多种的,除ConstraintLayout(约束布局) ,常用的还有RelativeLayout(相对布局)和LinearLayout(线性布局)等。】
方法参加下图:
在相应的.xml布局文件中,将其中的androidx.constraintlayout.widget.ConstraintLayout改为LinearLayout即可
关于布局(Layout)更多的了解参考
Android 四种布局: FrameLayout、ConstraintLayout、LinearLayout、RelativeLayout