Android工程文件完整解析教程
时间:2026-07-19 | 作者:318050 | 阅读:0认识项目目录结构
对于刚接触Android开发的新手来说,第一次用Android Studio创建项目时,最要紧的事不是急着写代码。
而是先把这个项目的工程目录结构摸清楚。
别小看这一步——搞明白了各个文件夹和文件的用途,以后写代码才会思路清晰,事半功倍。
现在,打开Android Studio,创建一个新的HelloWorld项目工程,看看它的目录结构具体长什么样。
src/main 目录:开发核心区域
开发过程中,大部分时间都会集中在 src/main 目录下操作。这里又主要分为两大块:Java 和 res。
- Java 目录:编写代码的核心区域。所有业务功能、逻辑判断都在这里实现。
- res 目录:存放各种资源文件。包括图片、音频、字符串、动画,以及多种形式的XML配置文件。
res 与 assets 的区别
说到res目录,就不得不提另一个可能不太常见的目录——assets。虽然当前项目中默认没有这个文件夹,但我们可以手动创建。
两者的核心区别在于:
- res下的资源文件会自动在R.java中生成对应的资源ID。程序可以直接通过这个ID来访问。
- assets目录下的文件不会自动生成ID。必须借助AssetManager,以二进制流的方式去读取。
说白了,R.java就像一张索引字典。res目录下的每一个资源,都会在这里获得一个唯一的标识ID。程序拿到ID就能直接调用,非常方便。这种机制让资源管理变得规范又高效。
图片资源目录:mipmap
在Android开发中,mipmap目录专门用来存放不同分辨率的图片资源。
如果你用过Eclipse,会发现那个环境里并没有mipmap这个分类。取而代之的是以drawable开头的各种文件夹。虽然名字不一样,但功能基本一致。
使用mipmap的好处在于:系统能根据设备屏幕的密度,自动选择最合适的图片资源。这样在图片缩放时性能表现更好。
系统会依据屏幕像素密度(比如hdpi、mdpi、xhdpi、xxhdpi等),从对应的目录里加载对应的图片。
接着看图片资源目录的说明示意图。
注意:这个机制并不是绝对的。
- 如果所有图片都只放在drawable-hdpi目录里,而设备本身应该加载ldpi的图片,但找了一圈发现没有,系统就会退而求其次,直接加载hdpi里的图片。
- 如果ldpi目录里没有资源,而mdpi和hdpi都有,那系统会选择最接近当前屏幕密度的mdpi资源来加载。
核心原则就是:优先选最接近设备密度的可用资源目录。
当然,如果想让系统彻底跳过这种自动匹配行为,可以在AndroidManifest.xml配置文件中添加 android:anyDensity=false 这个属性,强制使用固定密度的资源。
布局资源
接下来看看布局资源的使用方法。
菜单资源
菜单资源的具体内容,可以看下图。
values 目录的结构与用途
再来说说values目录的结构和用途。
raw 目录:原始资源文件
raw目录是存放音频、视频以及XML等原始资源文件的地方。
想要读取这些文件,可以通过 openRawResource(int id) 方法获取数据流。
虽然它和assets目录有点像,但方便之处在于:raw目录里的文件会在R资源类中自动生成对应的资源ID。直接在代码里引用就行,不需要额外处理。
动画资源
最后来看动画部分,主要分为两种类型:
- 属性动画:XML文件放在专门的目录里。
- 补间动画:XML文件放在另一个目录下。
来源:整理自互联网
免责声明:文中图文均来自网络,如有侵权请联系删除,心愿游戏发布此文仅为传递信息,不代表心愿游戏认同其观点或证实其描述。
相关文章
更多-
- Android编译版本不兼容错误解决方法
- 时间:2026-07-25
-
- iOS 14失去创新 为何被指模仿安卓
- 时间:2026-07-23
-
- iOS 13与Android 10系统深度对比:性能、功能、体验哪个更具优势?
- 时间:2026-07-22
-
- XREAL AURA开启预订,深度集成Android XR与Gemini AI
- 时间:2026-07-22
-
- 紫光展锐芯片完成安卓17全平台适配 72个月持久流畅
- 时间:2026-07-15
-
- 不寐之境女巫与魔咒2DRoguelite动作手游安卓开放预约
- 时间:2026-07-09
-
- Android应用权限解读与敏感信息拦截指南
- 时间:2026-07-08
-
- Android应用闪退原因与系统报错排查方法
- 时间:2026-07-08
精选合集
更多大家都在玩
热门话题
大家都在看
更多-
- iOS 13.5.1电池续航差是电池耗电问题吗
- 时间:2026-07-25
-
- 苹果教育优惠开启 附购买攻略
- 时间:2026-07-25
-
- 苹果iOS 14 beta 2 测试版主要更新内容:除细节变化外修复多项Bug
- 时间:2026-07-25
-
- iOS 14 beta 2 是否解决内存占用过多问题?
- 时间:2026-07-25
-
- 受欢迎的奥特曼游戏有哪些
- 时间:2026-07-25
-
- iOS 14信息应用5大更新变化
- 时间:2026-07-25
-
- iOS 14正式版上线时间公布 官方全新介绍
- 时间:2026-07-25
-
- 最新苹果iOS 14 Beta 2版本更新内容全解析与升级教程
- 时间:2026-07-25