Android Kotlin 基础知识 01.1:使用入门

此 Codelab 是“Android Kotlin 基础知识”课程的一部分。如果您按顺序学习这些 Codelab,您将会充分发掘此课程的价值。“Android Kotlin 基础知识”Codelab 着陆页列出了所有课程 Codelab。

简介

在此 Codelab 中,您将在模拟器和实体设备上创建并运行您的首个 Android 应用 HelloWorld。此外,您还将探索 Android 项目。

您应当已掌握的内容

  • 您应了解使用 Android Studio(例如集成式开发环境)等面向对象的应用的常规软件开发流程。
  • 您应至少拥有 1 年面向对象的编程经验,并且至少了解 Java 和 Kotlin。

学习内容

  • 如何在 Android Studio 中构建基本的 Android 应用。
  • 如何通过模板创建 Android 项目。
  • 如何查找 Android 项目的主要组件。
  • 如何在模拟器或实体设备上运行 Android 应用。

您应执行的操作

  • 创建一个新的 Android 项目和一个名为 HelloWorld 的默认应用。
  • 创建模拟器(虚拟设备),以便在计算机上运行应用。
  • 在虚拟和实体设备上运行 HelloWorld 应用。
  • 探索项目布局。
  • 浏览 AndroidManifest.xml 文件。

HelloWorld 应用会在 Android 虚拟设备或实体设备屏幕上显示字符串“Hello World”。该应用如下所示:

在此任务中,您将创建一个新的应用项目,以验证 Android Studio 是否已正确安装。

  1. 打开 Android Studio(如果尚未打开)。
  2. 欢迎使用 Android Studio 主对话框中,点击 Start a new Android Studio project

  3. 此时将显示 Choose your project 对话框。如下所示,选择 Empty Activity,然后点击 Next



    Activity 是一种用户可以聚焦的单一操作。每个应用必须至少有一个 Activity 作为入口点。将此入口点 Activity 视为其他程序中的 main() 函数。Activity 通常具有与之关联的布局,用于定义界面元素 (UI) 在屏幕上的显示方式。Android Studio 提供了几个 Activity 模板来帮助您入门。
  4. Configure your project 对话框中,输入 Name 作为“HelloWorld”。

  5. 接受默认公司域名 android.example.com,或创建唯一公司域名。此值加上应用的名称就是应用的软件包名称。如果您不打算发布应用,请接受默认值。您以后可以更改应用的软件包名称,但这项工作需要额外努力。
  6. 确认默认的保存位置是存储您的应用的位置。如果不是,请将位置更改为您的首选目录。
  7. 确保语言为 Kotlin。
  8. 确保最低 API 级别为 API 19: Android 4.4 (KitKat)。编写此 Codelab 时,Android Studio 表示,使用此 API 级别时,此应用将在大约 95.3% 的设备上运行。
    (您可以在之后的 Codelab 中详细了解最低 API 级别。)若要立即了解详情,请点击请帮助我选择,系统会打开一个窗口,其中会显示相应 API 级别的相关信息。)
  9. 选中使用 AndroidX 工件复选框。
  10. 将其他所有复选框保留为清除状态,然后点击 Finish。如果您的项目需要为您选择的目标 SDK 提供更多组件,Android Studio 会自动安装这些组件,这可能需要一段时间。按照提示操作并接受默认选项。

Android Studio 现在会创建您的项目,这可能需要一些时间。您应该不会遇到任何错误。如果您收到任何警告,请忽略它们。

在此任务中,您将探索 Android Studio 中的 HelloWorld 项目,并学习使用 Android Studio 进行开发的基础知识。

第 1 步:浏览“Project”窗格

  1. 如果尚未选择 Project 标签页,请选择该标签页。Project 标签页位于 Android Studio 窗口左侧的垂直标签页列中。系统会打开“Project”窗格。


  2. 要将项目显示为标准 Android 项目层次结构,请从 Project 窗格顶部的下拉菜单中选择 Android。(默认设置为 Android)。您可以通过多种不同的方式查看项目文件,包括查看文件在文件系统层次结构中的显示方式。不过,使用 Android 视图会简化项目。

第 2 步:浏览应用文件夹

应用的所有代码和资源都位于 app 文件夹中。

  1. Project > Android 窗格中,展开 app 文件夹。app 文件夹中有四个子文件夹:manifestsjavageneratedJavares
  2. 展开 java 文件夹,然后展开 com.example.android.HelloWorld 文件夹以查看 MainActivity Kotlin 文件。



    java 文件夹包含 Android 应用的所有主要 Kotlin 代码。您的 Kotlin 代码出现在 java 文件夹中的原因有很多。按照这项惯例,Kotlin 可以与使用 Java 编程语言编写的代码无缝地互操作,即使在相同的项目和应用中,也可以做到互操作。

    您的应用的类文件包含在三个子文件夹中,如图所示。com.example.hello.helloworld(或您指定的域名)文件夹包含应用软件包的所有文件。特别是,MainActivity 类是应用的主要入口点。您将在下一个 Codelab 中详细了解 MainActivityjava 文件夹中的另外两个文件夹用于测试相关代码,例如单元测试。
  1. 请注意 generatedJava 文件夹。此文件夹包含 Android Studio 在构建应用时生成的文件。请勿在此文件夹中修改任何内容,因为重新构建应用时您的更改可能会被覆盖。但是,在调试期间需要查看这些文件时,了解此文件夹会很有用。

第 3 步:浏览 res 文件夹

  1. Project > Android 窗格中,展开 res 文件夹。

    res 文件夹用于存放资源。Android 中的资源是您的应用中使用的静态内容。资源包括图片、文本字符串、屏幕布局、样式以及十六进制颜色或标准尺寸等值。

    Android 应用尽可能地将 Kotlin 代码和资源分开。这样,您可以更轻松地查找应用界面中使用的所有字符串或图标。此外,当您更改其中一个资源文件时,更改会在应用中的任何位置使用该文件。
  2. res 文件夹中,展开 layout 文件夹以查看 activity_main.xml 文件。


您的 Activity 通常与界面布局文件(在 res/layout 目录中定义为 XML 文件)相关联。该布局文件通常以其 Activity 命名。在本例中,activity 名称是 MainActivity,因此关联的布局是 activity_main

第 4 步:浏览清单文件夹和 AndroidManifest.xml

manifests 文件夹包含一些文件,这些文件会向 Android 系统提供有关您应用的重要信息。

  1. 展开 manifests 文件夹并双击 AndroidManifest.xml 将其打开。AndroidManifest.xml 文件包含 Android 系统运行您的应用所需的详细信息,包括哪些 activity 是应用的一部分。


  2. 请注意,<activity> 元素中引用了 MainActivity。应用中的任何 Activity 都必须在清单中声明。以下是 MainActivity 的示例:
<activity android:name=".MainActivity">
   <intent-filter>
       <action android:name="android.intent.action.MAIN"/>

       <category android:name="android.intent.category.LAUNCHER"/>
   </intent-filter>
</activity>
  1. 请注意 <activity> 内的 <intent-filter> 元素。此 intent 过滤器中的 <action><category> 元素会指示 Android 在用户点击启动器图标时从何处启动应用。您可以在后续 Codelab 中详细了解 intent 过滤器。

AndroidManifest.xml 文件也是您定义应用需要的任何权限的位置。权限包括让您的应用读取手机通讯录、通过互联网发送数据或访问设备(例如设备的相机)的权限。

Gradle 是一个构建自动化系统,该系统使用域特定语言来描述应用的项目结构、配置和依赖项。在编译和运行应用时,您会看到关于 Gradle build 运行的信息。您还会看到正在安装的 Android 软件包套件 (APK) 的相关信息。(APK 是 Android 操作系统分发和安装移动应用时使用的软件包文件格式。)

探索 Gradle 系统:

  1. 展开 Gradle Scripts 文件夹。在 Project > Android 窗格中,此文件夹包含构建系统所需的所有文件。


  2. 查找 build.gradle(Project: HelloWorld) 文件。

    此文件包含项目的所有模块通用的配置选项。每个 Android Studio 项目都包含一个顶级 Gradle build 文件。此文件定义项目中所有模块共用的 Gradle 代码库和依赖项。
  3. 查找 build.gradle(Module:app) 文件。

    除了模块级 build.gradle 文件之外,每个模块还有一个 build.gradle 文件。模块级 build.gradle 文件可让您为每个模块配置构建设置。(HelloWorld 应用只有一个模块,即应用本身的模块。)此 build.gradle 文件是您更改应用级构建配置时最常修改的文件。例如,当您更改应用支持的 SDK 级别或在 dependencies 部分声明新依赖项时,可以修改此 build.gradle 文件。您可以在之后的 Codelab 中详细了解这两方面内容。

在此任务中,您可以使用 Android 虚拟设备 (AVD) 管理器创建虚拟设备(模拟器)。虚拟设备可以模拟特定类型的 Android 设备的配置。然后,您可以使用该虚拟设备运行应用。

Android 模拟器是一个独立的应用,有自己的系统要求。虚拟设备可能会占用大量磁盘空间。如果您遇到任何问题,请参阅在 Android 模拟器上运行应用

第 1 步:创建 Android 虚拟设备 (AVD)

如需在计算机上运行模拟器,您必须创建描述虚拟设备的配置。

  1. 在 Android Studio 中,选择 Tools > AVD Manager,或点击工具栏中的 AVD Manager 图标 AVD 管理器图标。系统会显示 Your Virtual Devices 对话框。如果您已创建虚拟设备,对话框会显示它们(如下图所示),否则,您会看到一个空白列表。

    Android 虚拟设备 (AVD) 管理器,显示已创建的虚拟设备列表
  2. 点击对话框左下角的 +Create Virtual Device。系统随即会显示 Select Hardware 对话框,其中列出了预配置的硬件设备。对于每种设备,该表都会提供针对其对角显示屏尺寸(尺寸)、屏幕分辨率(以像素为单位)(分辨率)和像素密度(密度)的列。

    选择硬件设备
  3. 选择一部设备(如 Nexus 5xPixel XL),然后点击下一步。系统随即会显示 System Image 对话框。
  4. 点击 Recommended 标签页,然后选择要在虚拟设备上运行的 Android 系统版本(如 Pie)。


  1. 选择系统映像后,点击 Next。系统随即会打开 Android Virtual Device (AVD) 对话框。检查配置,然后点击完成

第 2 步:在虚拟设备上运行应用

在此任务中,您最终将运行新应用。

  1. 在 Android Studio 中,选择 Run > Run app 或点击工具栏中的 Run 图标 依次选择“Run > Run app”,或点击工具栏中的“Run”图标 [ICON HERE]。[IMAGEINFO]:ic_run.png,Android Studio 的“Run”图标。此时将显示 Select Deployment Target 对话框,警告您没有可用的设备。如果您未将实体设备连接到开发计算机,或者尚未启动虚拟设备,系统就会显示此警告。
  2. Select Deployment Target 对话框中,从 Available Virtual Devices 下选择您创建的虚拟设备。点击 OK



    模拟器将像实体设备一样启动和启动。此过程可能需要一段时间,具体取决于计算机的速度。您的应用构建,当模拟器准备就绪后,Android Studio 会将应用 APK 上传到模拟器并运行。

    您应该会看到如下图所示的 HelloWorld 应用。

在此任务中,您将在手机或平板电脑等实体移动设备(如有)上运行您的应用。始终在虚拟和实体设备上测试您的应用。

所需条件:

  • 一部 Android 设备(如手机或平板电脑)。
  • 一根 USB 数据线,用于通过 USB 端口将 Android 设备连接到计算机。
  • 如果您使用的是 Linux 或 Windows 系统,则可能需要执行额外的步骤。请参阅在硬件设备上运行应用文档。您可能还需要为设备安装合适的 USB 驱动程序。对于基于 Windows 的 USB 驱动程序,请参阅安装 OEM USB 驱动程序

第 1 步:开启 USB 调试

如要让 Android Studio 与您的 Android 设备通信,您必须在设备的开发者选项设置中启用 USB 调试功能。

在搭载 Android 4.2 (Jellybean) 及更高版本的设备上,开发者选项设置默认处于隐藏状态。要显示开发者选项并启用 USB 调试,请执行以下操作:

  1. 在设备上,打开设置,搜索关于手机,点按关于手机,然后点按版本号七次。
  2. 返回上一页(设置/系统)。列表中会显示开发者选项。点按开发者选项
  3. 选择 USB 调试

第 2 步:在 Android 设备上运行您的应用

现在,您可以连接设备并从 Android Studio 运行应用。

  1. 使用 USB 线将 Android 设备连接到开发机器。设备上应会显示一个对话框,要求您允许 USB 调试。


  2. 选中一律允许选项以记住这台计算机。点按确定
  3. 在计算机的 Android Studio 工具栏中,点击 Run按钮 Android Studio 的“Run”图标。系统随即会打开 Select Deployment Target 对话框,其中列出了可用的模拟器和已连接设备。您应该会看到您的实体设备以及所有模拟器。


  4. 选择您的设备,然后点击 OK。Android Studio 会在设备上安装并运行该应用。

问题排查

如果 Android Studio 无法识别您的设备,请尝试以下操作:

  1. 拔掉 USB 线,然后再重新插上。
  2. 重启 Android Studio。

如果您的计算机仍找不到设备或声明设备“未经授权”,请按以下步骤操作:

  1. 拔掉 USB 线。
  2. 在设备上,打开设置应用中的开发者选项
  3. 点按撤消 USB 调试授权
  4. 将设备重新连接到计算机。
  5. 出现提示时,授予相关授权。

您可能需要为设备安装合适的 USB 驱动程序。请参阅在硬件设备上运行应用

挑战:现在,您已经设置并熟悉基本的开发工作流,请执行以下操作:

  1. 在 Android Studio 中创建一个新项目。
  2. 将“Hello World”问候语更改为“Happy Birthday to "”以及最近生日的人的名字。
  • 如需安装 Android Studio,请转到 Android Studio,然后按照说明下载并安装它。
  • 要在 Project 窗格中查看应用的 Android 层次结构,请点击垂直标签页列中的 Project 标签页。然后在顶部的下拉菜单中选择 Android
  • 如果您需要为项目添加新的依赖项或更改依赖项版本,请修改 build.gradle(Module:app) 文件。
  • 应用的所有代码和资源都位于 appres 文件夹中。java 文件夹包含采用 Kotlin 和/或 Java 源代码的 Activity、测试和其他组件。res 文件夹包含布局、字符串和图片等资源。
  • 如需为 Android 应用添加功能、组件和权限,请修改 AndroidManifest.xml 文件。所有应用组件(例如其他 activity)都必须在此 XML 文件中声明。
  • 如需创建 Android 虚拟设备(模拟器)来运行应用,请使用 AVD 管理器
  • 如需使用 Android Studio 在实体 Android 设备上运行您的应用,请在设备上启用 USB 调试。为此,请打开设置 &gt 关于手机,然后点按版本号七次。依次打开设置开发者选项,然后选择 USB 调试

Udacity 课程:

Android Studio 文档:

其他:

此部分列出了在由讲师主导的课程中,学生学习此 Codelab 后可能需要完成的家庭作业。讲师自行决定是否执行以下操作:

  • 根据需要布置作业。
  • 告知学生如何提交家庭作业。
  • 给家庭作业评分。

讲师可以酌情采纳这些建议,并且可以自由布置自己认为合适的任何其他家庭作业。

如果您是在自学此 Codelab,可随时通过这些家庭作业来检测您的知识掌握情况。

构建和运行应用

  • 使用空模板创建一个新的 Android 项目。
  • 打开 res/strings.xml 文件。
  • app_name 字符串的值更改为 "My Dice Roller"。此名称会显示在标题栏中。
  • 为设备创建一个模拟器,使其定位到您喜欢的任何 Android 版本并运行该应用。请注意应用名称的变化。

回答以下问题

问题 1

主 activity 的布局文件的名称是什么?

  • MainActivity.java
  • AndroidManifest.xml
  • activity_main.xml
  • build.gradle

问题 2

用于指定应用名称的字符串资源的名称是什么?

  • app_name
  • xmlns:app
  • android:name
  • applicationId

问题 3

您使用哪个工具来创建新的模拟器?

  • Android Device Monitor
  • AVD 管理器
  • SDK 管理器
  • 主题编辑器

提交应用评分

检查并确保应用具备以下条件:

  • 一个 Activity,屏幕上显示“Hello World”。
  • 标题栏中显示“我的掷骰子。”

开始学习下一课:1.2:基本应用剖析

如需本课程中其他 Codelab 的链接,请参阅“Android Kotlin 基础知识”Codelab 着陆页