Android项目中每个目录都放什么内容

Android项目目录结构介绍

  • 1. 创建项目和相关目录
  • 2. 文件夹及文件介绍
    • 2.1 assets和res的区别
    • 2.2 assets和res/raw的异同
  • 参考材料

1. 创建项目和相关目录

  1. 新建一个空项目,并且添加一个empty Activity。
    Android项目中每个目录都放什么内容_第1张图片
  2. 一般来说,刚刚新建的项目会长这样,但是我们一般的项目中,会在这之上,再添加文件夹assets。
    Android项目中每个目录都放什么内容_第2张图片
  3. 然后在Module:app的build.gradle中,添加sourceSets.main.jniLibs.srcDirs = [‘libs’],添加后同步。
    Android项目中每个目录都放什么内容_第3张图片
    Android项目中每个目录都放什么内容_第4张图片
  4. 最后,我们的一般项目就会长这样。
    Android项目中每个目录都放什么内容_第5张图片

2. 文件夹及文件介绍

  1. manifests:中文是货单,清单的意思,一般里面就放一个Androidmanifest.xml文件。
    1. AndroidManifest.xml :每个Android系统都必不可少的文件,里面存放了App的各种基本数据如名称、图标、应用包名等,以及使用的四大组件的清单和所使用的权限清单,还包括了一些特有的数据。
  2. java:这个不多说,主要存放我们Java代码的地方。
  3. assets:存放资源文件的地方,主要存放不会被预编译的文件,如视频,图片,html,css等文件。
  4. jniLibs:存放外部引入的jar包和aar包,类似Java的Library。
  5. res:主要用于存放一些资源文件,和assets文件夹最大的区别就是存放在res文件夹中的文件,会在R.java中生成一个标记。
    1. drawable:一般存放一些图片资源。
    2. layout:存放布局文件。
    3. mipmap:存放图片资源,和drawable不同的是一般这里只存放app的图标。
    4. values:存放各种各样的参数xml文件,比如color.xml,string.xml,dimens.xml,style.xml等,根据名字就知道里面该放什么内容了。
    5. anim:上图中没有,看情况创建的文件夹。里面存放一些动画文件。
    6. raw:图中没有,看情况创建的文件夹。存放资源文件的地方,主要存放不会被预编译的文件,如视频,图片,html,css等文件。
  6. Gradle scripts:这个东西其实没有在单独的文件夹内,只是以Android形式浏览项目时,会将他们整合在一起。一般放一些项目的具体配置内容。
    • build.gradle:项目的整体配置,app的版本号,sdk版本,依赖的外部包,签名信息等都在这里修改。
    • proguard-rules.pro:混淆文件,如果你的app要对外发布的话,会用这个文件对app进行加密,使得别人不容易破解你的源码。

2.1 assets和res的区别

两者都是存放资源文件的地方,最大的区别是res内的文件会通过R.java生成一个标记,如果要访问res内的文件只需要通过R.id.xxx之类的文件资源id即可访问,且其中的文件(除了raw文件夹内的)都会被编译成二进制文件。

assets内存放不能通过编译的文件,无法通过资源id访问,相对的,一般通过AssetManager类来访问其中的资源。

2.2 assets和res/raw的异同

  • 相同点:两者都不会被编译成二进制文件。

  • 不同点:
     res/raw下的文件夹生成资源id,根据资源id即可访问,而assets不能,要通过AssetManager进行访问。
     res/raw下不能再创建子文件夹(其实可以创建,但是不能过编译),而assets文件夹下可以创建子文件夹。
     AssetManager不能处理超过1mb的文件,res/raw没有此问题。(此条未实践过,来自网络)

参考材料

assets文件夹与res文件夹的区别_移动开发_梦之归途的博客-CSDN博客
https://blog.csdn.net/lwzhang1101/article/details/87977636
Android Studio 图片资源存放位置 + drawable文件夹的创建方法_移动开发_hellokandy的博客-CSDN博客
https://blog.csdn.net/hellokandy/article/details/79513249
Android中asset文件夹和raw文件夹区别 - denniswang - 博客园
https://www.cnblogs.com/leizhenzi/archive/2011/10/18/2216428.html

你可能感兴趣的:(Android)