Android App项目结构总览

一、总体结构

目前最主流的Android IDE是Android Studio,它的项目总体结构如下:
APP结构总图
一个Project(工程)可以包含多个模块(Module),如图中的HttpDemo、SocketDemo、WebSocketDemo等,模块可以是直接运行的项目,也可以是供其它模块或工程调用的库,这个需在Module的build.gradle中做不同配置:

  • apply plugin: ‘com.android.application’———可运行的项目
  • apply plugin: ‘com.android.library’———不可运行的库

上图中未标注的文件都是系统自动生成的,有些可以根据需要进行配置和修改,主要包扩下列几种:

  • build.gradle:Gradle配置文件,经常需要修改
  • proguard-rules.pro:代码混淆配置文件,需要时可修改
  • .gitignore:git版本管理配置文件:忽略其中的文件类型,需要时可修改
  • xxx.iml:IDEA 项目文件,基本无需修改
  • build:编译文件目录,编译中生成的中间文件就在这里,无需修改
  • 其它:Gradle配套的配置文件,一般不需修改

未标注文件的详细说明,可以参考这篇博客:https://blog.csdn.net/wx198210/article/details/50248915

二、业务程序结构

真正的业务程序内容在下列main目录下:
main结构
main部分主要分为配置文件、代码和资源三大部分(assets可以归类为资源,aidl可以归类为代码):
1. 配置文件
   AndroidManifest.xml,每个Module唯一的配置文件,非常重要。配置程序入口、各组件及其属性等。详细信息请参见另一篇博客:https://blog.csdn.net/xotty/article/details/80412950
2. 代码

  • java:在包名目录或多个包名的公共目录下放置源代码,它下面可以根据模块需要任意自定义目录。入口程序、启动Activity和公共数据通常放在根目录下。
  • aidl:在包名目录下放置用于进程间通讯的aidl接口文件

3.资源(只可引用,不可以修改)

  • assets:该目录用来存放无需Android编译的各种原生资源,通常是文件、音频、视频、数据库等。每个文件不能超过1M大小, assets下面可以任意设置子目录。
  • res:该目录(这个可以在module的build.gradle中用res.srcDirs = [‘src/main/res-activity’]来修改)用来放置需要Android编译后即可在代码中引用的资源,通常是:图片、布局、菜单、动画、字符串、数组、xml文档….,其中:
    • raw目录放置的内容与assets类似,其下不可以在设置子目录。
    • mipmap目录通常只放启动图标,该目录下的图片默认 setHasMipMap 为 true,可以提高Bitmap图片缩放的速度和质量
    • values目录:可以包括各种类型的简单数据,如下图所示:
      values结构

猜你喜欢

转载自blog.csdn.net/xotty/article/details/80419792