Windows 上的本机 Android 开发入门

本指南帮助你开始使用 Windows 创建本机 Android 应用程序。 如果你偏好跨平台解决方案,请参阅 Windows 上的 Android 开发概述,其中提供了某些选项的简短摘要。

创建本机 Android 应用的最直接方法是在 Java 或 Kotlin 中使用 Android Studio,不过,你也可以出于特定的目的使用 C 或 C++ 进行 Android 开发。 Android Studio SDK 工具将代码、数据和资源文件编译成 Android 存档包(.apk 文件)。 一个 APK 文件包含 Android 应用的所有内容,Android 赋能的设备使用该文件来安装该应用。

安装 Android Studio

Android Studio 是 Google Android 操作系统的官方集成开发环境。 下载最新版本的适用于 Windows 的 Android Studio

  • 如果下载了 .exe 文件(建议),请双击启动该文件。
  • 如果下载了 .zip 文件,请解压缩该文件,将 android-studio 文件夹复制到 Program Files 文件夹中,然后打开 android-studio > bin 文件夹并启动 studio64.exe(适用于 64 位计算机)或 studio .exe(适用于 32 位计算机)。

遵循 Android Studio 中的安装向导安装它建议的所有 SDK 包。 有新的工具和其他 API 可用时,Android Studio 将通过弹出窗口向你发出通知,你也可以通过选择“帮助”>“检查更新”来检查更新

创建新项目

选择“文件”>“新建”>“新建项目”

在“选择项目”窗口中,可在以下模板之间进行选择

  • 基本活动:创建一个简单的应用,其中包含应用栏、浮动操作按钮和两个布局文件:一个文件用于活动,另一个文件用于隔离文本内容

  • 空活动:创建一个空活动和一个包含示例文本内容的布局文件

  • 底部导航活动:为活动创建标准的底部导航栏。 有关详细信息,请参阅 Google 发布的 Material Design guidelines(材料设计准则)的“Bottom Navigation Component”(底部导航组件)部分。

  • 模板通常用于将活动添加到新的和现有的应用模块。 例如,若要为应用的用户创建登录屏幕,请使用“登录活动”模板添加一个活动。 若要详细了解如何选择活动以及如何从模板添加代码,请参阅 Google 发布的 Android Developer guide(Android 开发人员指南)。

注意

Android 操作系统基于“组件”的概念,使用术语“活动”和“意图”来定义交互。 活动表示用户可以执行的单个针对性任务。 活动提供一个窗口,用于通过基于 View 类的类生成用户界面。 Android 操作系统中的活动具有生命周期,该生命周期由六个回调定义:onCreate()onStart()onResume()onPause()onStop()onDestroy()。 活动组件使用意图对象来互相交互。 意图要么定义要启动的活动,要么描述要执行的操作类型(系统将为你选择适当的活动,该活动甚至可以来自不同的应用程序)。 请在 Google 发布的 Android Developer guide(Android 开发人员指南)中详细了解活动、活动生命周期和意图。

Java 或 Kotlin

Java 语言于 1991 年问世,它最初是由 Sun Microsystems 开发的,但现在归 Oracle 所有。 它现已成为最流行且最强大的编程语言之一,其全球支持社区也名列前茅。 Java 基于类且面向对象,旨在尽量减少实现依赖关系。 其语法类似于 C 和 C++,但低级工具比后者更少。

Kotlin 于 2011 年由 JetBrains 首次宣布为新的开源语言,从 2017 年开始,它已作为 Java 的替代语言纳入 Android Studio 中。 2019 年 5 月,Google 宣布 Kotlin 已成为 Android 应用开发人员的首选语言,因此尽管它是一种较新的语言,但也拥有强大的支持社区,并被认为是发展最快的编程语言之一。 Kotlin 是跨平台的静态类型语言,可完全与 Java 互操作。

Java 更广泛地用于更多类型的应用程序,提供 Kotlin 所不具备的某些功能,例如检查异常、非类基元类型、静态成员、非专用字段、通配符类型和三元运算符。 Kotlin 专为 Android 设计,且建议在 Android 中使用。 它还提供 Java 所不具备的某些功能,例如由类型系统控制的 null 引用、无原始类型、不变数组、本征函数类型(与 Java 的 SAM 转换相反)、没有通配符的使用处型变、智能强制转换,等等。 请在 Kotlin 文档中更深入地了解该语言与 Java 的比较。

最低 API 级别

需要确定应用程序的最低 API 级别。 该级别确定了应用程序支持的 Android 版本。 API 级别越低,其推出时间就越早,因此通常支持更多的设备;但 API 级别越高,其推出时间就越近,因此提供更多的功能。

Android Studio Minimum API selection screen

选择“帮我选择”链接打开一个比较图表,其中显示了设备支持分布,以及与平台版本相关的重要功能

Android Studio Minimum API comparison screen

即时应用支持和 Androidx 项目

你可能已注意到,项目创建选项中有两个复选框:“支持即时应用”和“使用 androidx 项目”。 “支持即时应用”未选中,而“使用 androidx 项目”已选作建议的默认设置

Google Play“即时应用”为用户提供一种试用应用或游戏的方式,而无需事先安装该应用或游戏。 可以在 Play Store、Google 搜索、社交网络以及共享链接的任何位置找到这些即时应用。 选中“支持即时应用”框后,Android Studio 会将 Google Play Instant Development SDK 包含在你的项目中。 在 Android developer guide(Android 开发人员指南)中详细了解 Google Play 即时应用。

AndroidX 项目表示新版 Android 支持库,并提供跨 Android 版本的向后兼容性。 AndroidX 为所有可用包提供以字符串 androidx 开头的一致命名空间。

注意

AndroidX 现在是默认库。 若要取消选中此框并使用以前的支持库,需要删除最新的 Android Q SDK。 有关说明,请参阅 StackOverflow 上的取消选中“使用 Androidx 项目”,但首先请注意,以前的支持库包已映射到相应的 androidx.* 包。 有关所有旧类的完整映射以及如何在新类中生成项目,请参阅迁移到 AndroidX

项目文件

Android Studio“项目”窗口包含以下文件(请确保从下拉菜单中选择了 Android 视图)

app > java > com.example.myfirstapp > MainActivity

应用的主要活动和入口点。 生成和运行应用时,系统会启动此活动的一个实例并加载其布局。

app > res > layout > activity_main.xml

定义活动用户界面 (UI) 布局的 XML 文件。 该文件包含一个带有文本“Hello World”的 TextView 元素

app > manifests > AndroidManifest.xml

描述应用及其每个组件的基本特征的清单文件。

Gradle Scripts > build.gradle

有两个具有此名称的文件:“项目: 我的第一个应用”(表示整个项目)和“模块: 应用”(表示每个应用模块)。 新项目最初只有一个模块。 使用模块的 build.file 来控制 Gradle 插件生成应用的方式。 在 Android developer guide(Android 开发人员指南)中详细了解如何配置生成。

使用 C 或 C++ 进行 Android 游戏开发

Android 操作系统支持以 Java 或 Kotlin 编写的应用程序,可受益于嵌入在系统体系结构中的工具。 许多系统功能(例如 Android UI 和意图处理)仅通过 Java 接口公开。 在某些情况下,你可能希望通过 Android 本机开发工具包 (NDK) 使用 C 或 C++ 代码,尽管存在某些相关挑战。 游戏开发就是一个例子,因为游戏通常使用以 OpenGL 或 Vulkan 编写的自定义渲染逻辑,并可从注重于游戏开发的大量 C 库受益。 使用 C 或 C++ 可能还有助于进一步提高设备的性能,以实现低延迟或运行计算密集型应用程序,例如物理学模拟。 但是,NDK 不适合大多数新手 Android 程序员使用。 除非你出于特定的目的而要使用 NDK,否则我们建议坚持使用 Java、Kotlin 或某种跨平台框架

若要创建支持 C/C++ 的新项目,请执行以下操作:

  • 在 Android Studio 向导的“选择项目”部分,选择“本机 C++”* 项目类型。 选择“下一步”,填写剩余字段,然后再次选择“下一步”

  • 在向导的“自定义 C++ 支持”部分,可以使用“C++ 标准”字段自定义项目。 使用下拉列表选择要使用的 C++ 标准化。 选择“工具链默认设置”会使用默认 CMake 设置。 选择“完成”。

  • 在 Android Studio 创建新项目后,你可以在“项目”窗格中找到一个 cpp 文件夹,其中包含本机源文件、标头、CMake 或 ndk-build 的生成脚本,以及预生成为项目的一部分的库。 还可以在 src/main/cpp/ 文件夹中找到示例 C++ 源文件 native-lib.cpp,它提供一个简单的 stringFromJNI() 函数用于返回字符串“Hello from C++”。 此外,在模块的根目录中,应会看到一个用于生成本机库的 CMake 生成脚本 CMakeLists.txt

若要详细了解如何将 C 和 C++ 代码添加到项目,请参阅 Android developer guide(Android 开发人员指南)。 若要查找使用 C++ 集成的 Android NDK 示例,请参阅 GitHub 上的 Android NDK 示例存储库。 若要在 Android 上编译和运行 C++ 游戏,请使用 Google Play 游戏服务 API

设计指南

设备用户预期应用程序具有特定的外观和行为... 无论是轻扫、点击还是使用语音控件,用户都会对应用程序的外观及其使用方式抱有特定的预期。 这些预期应保持一致,以减少混淆和挫败感。 Android 提供了这些平台和设备预期的指南,其中结合了视觉和导航模式的 Google 材料设计基础知识,以及兼容性、性能和安全性方面的质量准则。

Android 设计文档中了解详细信息。

Fluent Design System for Android

Microsoft 也提供了设计指导,旨在为 Microsoft 移动应用的整个产品组合提供无缝的体验。

Fluent Design System for Android 可用于设计和生成 Android 原生的、但仍保持独特 Fluent 特性的自定义应用。

其他资源