背景:本人学习和开发用的是Android studio开发者工具,用的语言是java语言,电脑为win11,笔者的工程结构,这个是我才创立的Hollew world项目。
一、工程目录
1/ .gradle和.idea
2/app
项目中的代码、资源等几乎都在这里,后面开发也基本在这里,这个会后面展开来说
3/ gradle(构建器)
(1)gradle-wrapper.properties下会有gradle版本,gradle-wrapper会自动搜索是否有这个对应的gradle的版本,如果没有就会自动下载。
(2)这个目录下包含gradle wrapper的配置文件,使用gradle wrapper的方式不需要提前将gradle下载好,而是会自动根据本地的缓存情况决定是否需要联网下载gradle。
AS默认没有启用gradle wrapper的方式,修改设置:File | Settings | Build, Execution, Deployment | Build Tools | Gradle
4/ .gitgnore
版本控制时,用来将指定的目录或文件排除在版本控制外
5/ build.gradle
项目构建的全部脚本,通常内容不需修改。
6/ gradle.properties
全局的gradle配置文件,这里配置的属性将会影响到项目中所有的gradle编译脚本。
7/ gradlew和gradlew.bat
用于在命令行界面中执行gradle命令,其中gradlew是在linux或mac系统,gradlew.bat是在windows系统使用。
8/ local.properties
用于指定本机中AndroidSDK路径,通常内容是自动生成,除非本机SDK位置发生变化,否则无须修改。
9/ settings.gradle
用于指定项目中所有引入的模块,新工程demo只有一个app模块,所以该文件中就只引入了app这一个模块。通常模块的引入都是自动完成的。
二、app目录结构
1/ build
包含了一些在编译时自动生成的文件,无需过多关心。
2/ libs
若项目中使用到了第三方jar包,就需要把这些jar包都放在libs目录下,放在这个目录下的jar包都会被自动添加到构建路径去。
3/src
项目源文件都保存在这个目录中
4/ androidTest
这个是用来编写androidTest测试用例的,可以对项目进行一些自动化测试。
5/main
项目源主要文件都保存在这个目录中,日常编写代码也在这里面。
6/ java
用来保存Android程序的所用包以及源文件(.java),还有就是这个地方这个文件是IDE自动生成的,开发者不需要修改里面的内容
其中java初始化代码
说明这里是干啥的:
这里使用R.layoutactivity main来获取layout目录中的activity_ main.xml 布局文件。这是因为,在Android程序中,每个资源都会在R.java文件中生成一个索引,而通过这个索引,开发人员可以很方便地调用Android程序中的资源文件。
需要注意的地方:
应用Android Studio创建的项目,Rjava 文件位于新创建应用的<应用名称>buid generated sourcer debug<包路径>目录下。Rjava文件是只读文件,开发人员不能对其进行修改,当res 包中资源发生变化时,该文件会自动修改。后期我还会对这些如果进行处理机制会详细总结的。
7/ res
主要放置会用到的资源文件,在項目里用到的所有**图片(drawable)、布局(layout)、字符串(values)**等资源都要存放在这,这个后面的文章会着重去说明
8 / AndroidManifest.xml
其属于manifests节点,manifests节点用于显示Android应用程序的配置文件。通常情况下,每个Android应用程序必须包含一个AndroidManifest.xml文件,位于manifests节点下。它是整个Android应用的全局描述文件。在该文件内,需要标明应用的名称、使用图标、Activity和Service等信息,否则程序不能正常启动,另外还可以在这里给应用程序添加权限声明。
需要注意的地方:
在Android程序中,每一个Activity都需要在AndroidManifest.xml文件中有一个对应的< activity >标记,一般创建新activity,Android Studio会自动添加标记。
元素 | 说明 |
---|---|
manifest | 根节点,描述了package中所有的内容 |
package | 声明应用程序包 |
application | 包含package中application级别组件声明的根节点,一个manifest中可以包含零个或者一个元素 |
android:icon | 应用程序图标 |
android:label | 应用程序标签,即为应用程序指定名称 |
android:theme | 应用程序采用的主题,例如,Android Studio创建的项目默认采用@Style/AppTheme |
activity | 与用户交互的主要工具,它是用户打开以个应用程序的初始页面 |
intent-filter | 配置Intent过滤器 |
action | 组件支持的Intent Action |
category | 组件支持的Intent Category,这里通常用来指定应用程序默认启动的Activity |
9/ test
此处是来编写Unit test测试用例的,是对项目进行自动化测试的另一种方式。
10/ .gitgnore
同外部的类似,排除版本控制。
11/ build.gradle
app模块的gradle构建脚本,文件中会指定很多项目构建相关的配置。
12/ proguard-rules.pro
用于指定项目代码的混淆规则,当代码开发完成后打成安装包文件,如果不希望代码被人破解,通常会将代码混淆,从而让破解者难以阅读。
三、res目录结构
1/ drawable开头 放图片
2/ mipmap开头 放应用图标
3/ layout开头 放布局xml文件
4/ values 放字符串、样式、颜色等配置
因为这个目录是主要写代码的地方知识点比较多,所以这里只解释一下这个事什么功能,后续笔者也会更新相关知识点,笔者也在学习中~
XML:
众所周知,XML是一种可扩展标记语言,它被用来传输和存储数据。在Android中也会随处可见XML文件,包括一个android项目不可缺少的AndroidManifest.xml清单文件,我的理解就是这个作用就是将界面一些相同的属性的一个集合,比如界面的显示的图片,他会集中的放在一个xml里,这样方便开发者修改和进行处理。
对于详细的res中xml详细介绍,还有就是虽然知道每个文件是什么功能,但是目前还是不会使用,使用方法和xml笔者在后续的学习中会进行总结~
四、日志工具的使用
- Log.v ( )。用于打印那些最为繁琐的,意义最小的日志信息。对应的级别verbose,是Android 日志里面级别最低的一种。
- Log.d ( )。用于打印一些调试的信息,这些信息对你的调试程序和分析问题应该是有帮助的。对应的级别debug,比verbose高一级。
- Log.i ( )。用于打印一些比较重要的数据。这些数据是你非常想要看到的、可以帮助你分析用户行为数据。对应的级别是info,比debug高一级。
- Log.w ( )。用于打印一些警告信息,提示程序在这个地方可能会有潜在的风险,最好去修复一下这些出现警告的地方。对应的级别warn,比infor高一级。
- Log.e()。用于打印程序中的错误信息,比如程序进入到了catch语句当中。当有错误的信息打印出来的时候,一般都代表你的程序出现了严重的错误问题了,必须尽快进行修复。对应级别error,比warn高一级。
在这个里面去看
五、AndroidManifest.xml
- package
这个就是找到你的程序包名
- application
这个就是大体你这个软件里面的设置,包括活动的注册呀一系列的东西
- label
这个地方就是设置app的标题栏的名称
- activity
这个地方代表的是注册的活动,如果想要某一个活动先发生
就需要在这个activity里加入这段代码就可以了
会持续进行更新