Android 应用基础 - 理解位和字节
了解 Android Studio 基础知识和 Android 应用程序结构的完整指南
你好呀!
在Android 应用程序开发系列的上一篇文章中,我们学习了如何制作 Hello World 应用程序。我们在 Android Studio 中创建了一个新项目并运行了该应用程序。
现在,在本文中,我们将了解更多关于 Android 应用程序结构、它的基本组件、如何使用Android Studio、如何浏览项目,以及在此过程中会有所帮助的许多事情!
让我们深入研究它!
深入了解Android Studio
上一次,我们新建一个应用后,在应用构建完成后就弹出了这样的画面。
我们将逐个窗格地浏览窗口。在 IDE 窗口的左侧,您可以在不同的视图中看到项目文件。默认情况下,项目在“Android”视图中打开,您可以在其中看到与最终应用相关的所有文件。
还有许多其他默认文件(大多数时候)不需要处理,因此 Android Studio 提供了一种非常方便的方法来保持混乱并专注于项目所需的文件。
这些是您可以用来显示/隐藏相关文件的不同视图。
但是,大多数时候,您只需要“Android”视图或“项目”视图。
Android 视图:此视图仅显示与您的应用程序屏幕和布局/资源相关的文件。
项目视图:此视图显示当前项目中的所有文件。在将外部文件添加到项目中的特定位置时,您可能需要这样做。示例:添加google-services.json文件以将 Firebase 集成到 Android 应用中。
让我们回到主窗口,您可以在其中编写代码。
您可以双击左侧窗格中的任何文件,它将在编辑器中打开。上图是一个XML文件。每个XML文件都有三个不同的视图,代码、拆分和设计视图。
您可以在代码视图中仅查看代码,在拆分视图中查看代码以及实时更新,或者在设计视图中访问拖放布局构建器。
在顶部栏上,您将能够看到任何 IDE 将具有的各种标准功能。您可以尝试浏览所有选项并找到您可能需要的各种东西。
就在栏的下方,有各种有用的东西。在左侧,您可以看到您正在处理的当前文件,以及它在项目中的路径。
在右侧,你可以看到各种按钮,我将一一解释:
-
构建(绿色锤子)用于构建您的项目。
-
运行按钮(绿色三角形)用于在APK连接的 Android 设备上安装构建项目时构建项目。您可以从项目旁边的下拉列表中选择要启动应用程序的设备。
-
当应用程序在设备上运行时,运行按钮旁边的两个按钮变为活动状态。它们用于在您进行更改后重新加载应用程序。
-
这很有用,因为它只考虑代码中的更改并构建它们,因此构建所需的时间更少,从而显着减少了构建时间。
-
-
然后是调试按钮。除了运行按钮的作用之外,它还为应用程序附加了一个调试器,用于记录应用程序运行时您的 android 设备发生的情况。调试错误和崩溃非常有帮助。
-
然后是分析器工具,它允许您扫描您的应用程序在运行它的设备上如何使用 CPU、内存、网络、电池和其他资源。
-
还有其他与项目结构、Gradle、AVD(Android 虚拟设备)管理器等相关的按钮。你可以试一试。我已经解释了您需要的大部分工具。
在底部,您将能够看到:
打开特定选项卡以显示不同的内容。就像,按下调试按钮时会打开调试选项卡,按下配置文件时会打开 Profiler,Logcat 可用于查找正在运行的应用程序的日志,TODO 列出了您在项目中任何位置设置的所有 TODO(提醒自己) , ETC。
这些是您开始使用 Android Studio 需要了解的基本知识🥳
现在,您已经了解了 Android Studio。让我们了解哪些文件构成了 Android 应用程序的不同部分。
Android 项目文件结构
我建议您打开项目视图以了解每个文件/文件夹的职责。
在根文件夹下,有用于不同事物的子文件夹。
首先,有.gradle
文件夹。它是 Gradle 用于加速某些构建过程的本地缓存。您现在应该已经注意到,第一个 Gradle 构建需要时间,而后续构建会更快一些 - 这是因为 Gradle 存储缓存以使进一步构建的速度更快。
该.idea
文件夹包含当前环境的所有本地设置。由于 Android Studio 基于 IntelliJ IDEA,因此它遵循 IDEA 的蓝图。
该build
文件夹将包含您生成的资产 - 例如签名的 APK 左右。
然后是一堆文件,我将它们一起覆盖,因为它们都与Gradle相关:
-
根级
build.gradle
文件:它包含您正在制作的应用程序使用的配置,以及项目中包含的所有库。 -
settings.gradle
包含 Gradle 在导入库时应在其中查找的存储库的引用。它还将所有库和应用程序结合在一起。 -
gradle.properties
定义 Gradle 用于当前项目的设置。 -
local.properties
顾名思义,该文件用于本地环境设置。 -
在 StackOverflow 上阅读此答案以深入了解
gradlew
该gradle.bat
文件。
现在让我们移动到该app
文件夹。这是我们应用程序的源代码所在的位置。
此处的libs文件夹将包含您要导入项目的任何外部库。该build文件夹是相同的,它包含生成的文件。该proguard-rules.pro文件具有 ProGuard 的配置 - 它允许混淆应用程序的代码。
src文件夹很重要。它包含在您的应用程序中定义不同页面(活动)的所有代码文件。与应用程序功能相关的所有内容都包含在此文件夹中。
- 该androidTest文件夹包含为测试应用程序的用户界面而编写的测试。例如,验证屏幕是否在不同场景中正确打开的测试。
- 该test文件夹包含测试文件,用于测试应用程序中实现的一般功能。例如,验证验证电子邮件格式的功能是否正常工作的测试。
- 最后,该main文件夹包含构成应用程序的实际文件。
我们将在以后的文章中了解如何在 Android 应用中进行测试
现在,打开main文件夹。有趣的部分来了。如果上面的事情超出了您的想象,请不要担心,因为它很直观,所以大多数人都会理解这一节。
现在,您将能够看到三个元素:
我们将从AndroidManifest.xml文件开始。考虑这种情况,有人给了你一本书,但以一种模棱两可的方式,他们只是把页面传给你,而这本书并没有完全装订。那么,这些页面和章节对你来说没有任何意义,对吧?
这与安卓操作系统相同。假设您制作了一个具有多个屏幕的应用程序。Android 系统不知道您的应用程序包含的屏幕,它可能会将它们误解为其他应用程序中实现的其他屏幕。现在它如何知道所有屏幕是您应用程序的一部分?
文件在这里AndroidManifest.xml发挥作用。它是一个结构化文件,列出了作为应用程序一部分的所有活动,以及应用程序可能包含的任何其他组件,例如应用程序可能使用的后台服务的实现,应用程序将用来提供其全部权限的权限功能或其他一些元数据信息。
现在,我相信您会清楚AndroidManifest.xml文件的作用。现在,跳入java文件夹。
它包含具有不同文件的不同软件包,可用于您想做的任何事情。它可以包含活动类、您希望在项目中一次又一次地重用的某些功能的实用程序类,用于实现数据类来存储数据,以及基本上与用户界面无关的任何东西。
该xml文件夹是应放置所有 UI 元素的位置。
- 该
drawable
文件夹应包含可在屏幕上显示的矢量图形。 -
layout
文件夹是实际放置屏幕的地方。它应该包含为不同屏幕实现用户界面的文件。 - 文件夹集群将
mipmap
包含不可扩展的图像资产。如果你假设在将它们导入 Android Studio 之前必须自己定义所有密度 - 那么不,你错了😂。Android Studio 有一个内置功能,可以帮助您将图形转换为不同的密度。 -
values
和values-night
包含键值格式的常量值。您可以在运行时通过引用键从java
/代码中访问这些值。kotlin
当应用程序使用浅色主题时,android会使用该values
文件夹,如果您切换到深色模式,则会自动拾取另一个文件夹。
最后的话
好的,这就是了解一个真正基本的 Android 项目的结构。现在,你可以去看看 GitHub 上的各种开源 android 项目。尝试记住文件在项目中的重要性。
您还可以尝试使用入门模板在 Android Studio 中创建项目并查看不同的内容。
我希望能够向您解释 Android 项目的外观。在以后的文章中,我们将通过制作简单的应用程序并了解在 android 应用程序中使用不同的东西来深入了解更多细节。
如果这对你有一点帮助,请评论这篇文章🙌。
文章来源:https://blog.gouravkhunger.me/android-application-fundamentals
作者:Gourav Khunger