Android项目文件目录分析
相信对第一次接触安卓开发的人来说,安卓应用的项目结构很令人疑惑。
刚巧,我也是,才下载了 Android Studio
不久。看了不少的安卓教程,然后创建了一个示例项目准备摸索摸索。我去,怎么这么多代码,这么多文件,瞬间傻眼了。
不再傻眼,也为了更多和我一样的小白开发者不再傻眼,跟着我的视角,我们一起走进这个安卓App,看看它到底是个什么构造。
首先复制项目路径,打开文件管理器,进入我们的安卓项目文件夹。
来到这个页面后,我们看到前缀没有 .
的正常目录有 app
和 gradle
两个文件夹。能走到这一步的同学,必然是创建了项目了,也就安装好了gradle
了,所以不再赘述,我们进入app
文件夹。
在此之前我已经编译过一次app,因此目录下有
build
:存放着构建后的内容libs
: 存放着引用的外部库(因为没有使用里面试试空的)src
: 源代码文件夹。三个文件夹。
因此,我们进入 src
这个文件夹。
src
目录下,有三个文件夹:
androidText
:存放着Instrumented测试代码。Instrumented测试与单元测试不同,它们可以运行在整个Android应用或框架上,并可以访问Android系统服务和API。main
:存放着主程序。test
:存放着单元测试代码。单元测试是软件开发中的一种实践,用于确保代码的各个单元按照预期工作。
很显然我们当务之急需要的是去了解main
文件夹中的内容。
访问进去,有两个文件夹和一个AndroidManifest.xml
文件。
AndroidManifest.xml
:在Android程序中,所有的Activity都需要在AndroidManifest.xml
中声明,才能够被用户通过INTENT找到。除了Activity以外,服务(Service)、广播接收者(BroadcastReceiver)、ContentProvider都需要在AndroidManifest.xml
中声明。
关于这两个文件夹:java | res
- java:存放着java代码。(我选择了java项目示例,我选择在深度学习过java开发安卓后再转koutlin)
- res : 存放着各种资源文件。(稍后将一一的解释。)
下面我将列举一下示例项目中已存在的文件
java\com\example\magichome
在这个路径下有:data
,ui
,两个文件夹。
data
文件夹中包含一个model
文件夹,还有:
LoginDataSource.java
:该类用于处理用户登录和注销的操作。``LoginRepository.java`:用于处理用户登录和注销的操作,并维护一个内存中的登录状态和用户凭证信息缓存。
Result.java
:用于封装处理结果,包括成功的结果和错误的结果。
总共三个文件。
model文件夹
:
LoggedInUser.java
:一个数据类,主要用于存储已登录用户的用户信息。这个类是从LoginRepository
中获取的。
ui
文件夹中包含一个login
文件夹,其中包含:
LoggedInUserView.java
:主要用于将已登录用户的详细信息暴露给用户界面(UI)。LoginActivity.java
:实现一个登录活动的 Android 应用程序的一部分。该活动使用数据绑定和ViewModel
来管理用户输入和登录状态。LoginFormState.java
:主要用于表示登录表单的数据验证状态。LoginResult.java
:主要用于封装登录操作的结果。LoginViewModel.java
LoginViewModelFactory.java
:创建并返回一个特定的ViewModel。
总共六个文件。