Android项目结构概述

Android Studio目录结构

新建工程项目后AS的Product目录结构如下所示:

.idea://AS生成的工程配置文件,类似Eclipse的project.properties。
app://AS创建工程中的一个Module。
gradle://构建工具系统的jar和wrapper等,jar告诉了AS如何与系统安装的gradle构建联系。
External Libraries://不是一个文件夹,只是依赖lib文件,如SDK等。

新建工程项目后AS的Module目录结构如下所示:

build://构建目录,相当于Eclipse中默认Java工程的bin目录,鼠标放在上面右键Show in Exploer即可打开文件夹,
    编译生成的apk也在这个目录的outs子目录,不过在AS的工程里是默认不显示out目录的,就算有编译结果也
    不显示,右键打开通过文件夹直接可以看。
libs://依赖包,包含jar包和jni等包。
src://源码,相当于eclipse的工程。
main://主文件夹 
    java://Java代码,包含工程和新建是默认产生的Test工程源码。 
    res://资源文件,类似Eclipse。
        layout://App布局及界面元素配置,雷同Eclipse。
        menu://App菜单配置,雷同Eclipse。 
        values://雷同Eclipse。
            dimens.xml://定义css的配置文件。 
            strings.xml://定义字符串的配置文件。 
            styles.xml://定义style的配置文件。
            ......://arrays等其他文件。
        ......://assets等目录
    AndroidManifest.xml://App基本信息(Android管理文件) 
    ic_launcher-web.png://App图标 
build.gradle://Module的Gradle构建脚本

以下是Android Studio中的的项目结构图:

Android项目结构概述_第1张图片
屏幕快照 2018-08-14 下午4.48.59.png

下面对上面文件或目录的解释 -

编号 文件或目录 描述
1 AndroidManifest.xml 这是清单文件,它描述了应用程序的基本特征并定义了它的每个组件。
2 java 这包含项目的.java源文件。 默认情况下,它包含一个具有活动类的MainActivity.java源文件,该Activity类在应用程序使用应用程序图标启动时运行。
3 res/drawable 以前的Android版本使用这个文件夹来存储图像,当前版本使用mipmap文件夹来存储图像。这个目录几乎不再使用。
4 res/layout 这是定义应用程序用户界面的文件的目录。
5 res/menu 包含将显示在操作栏上的项目的XML菜单文件夹
6 res/mipmap 使用来包含mipmap图像
7 res/values 这是包含资源集合(如字符串和颜色定义)的其他各种XML文件的目录。

1. AndroidManifest.xml

无论您作为应用程序的一部分开发什么组件,都必须在AndroidManifest.xml中声明其所有组件。这个文件作为Android OS和应用程序之间的接口,所以如果没有在这个文件中声明你的组件,那么操作系统将不会考虑它。 例如,默认清单文件将如下面的文件所示 -


2. res/mipmap

需要更多地了解mipmap文件夹中的图像,请参阅下面的图像,mipmap文件夹中有一个图像文件。

在使用Android应用程序时偶尔遇到的一个问题是,比如看到的图像比较模糊,像素化或笨拙地拉伸。 解决此问题的方法是为Android支持的每种密度创建一个可绘制的文件夹,并将正确缩放的图像放在每个文件夹中。 Android支持6种不同的密度范围(以每英寸点数衡量):

  • ldpi:低密度屏幕; 大约120dpi
  • mdpi:中等密度(在传统的HVGA)屏幕上; 大约160dpi
  • hdpi:高密度屏幕; 大约240dpi
  • xhdpi:超高密度屏幕; 大约320dpi。 在API级别8中添加
  • nodpi:这可以用于位图资源,不想缩放到匹配设备密度。
  • tvdpi:屏幕介于mdpihdpi之间; 大约213dpi。这不被视为“主要”密度组。 它主要用于电视机,大多数应用程序不需要它 - 为大多数应用程序提供mdpihdpi资源已足够,系统将根据需要进行扩展。此限定符是在API级别13中引入的。

你可能感兴趣的:(Android项目结构概述)