先从菜鸟教程的工程相关解析 (各种文件, 资源访问) 入手
1.8 工程相关解析 (各种文件, 资源访问) | 菜鸟教程 http://www.runoob.com/w3cnote/android-tutorial-project-src-analysis.html
重点:
1.
谷歌不支持除了 Android Studio 之外的开发工具, 所以开发工具选择用 Android Studio
2.
java: 我们写 Java 代码的地方, 业务功能都在这里实现
res: 存放我们各种资源文件的地方, 有图片, 字符串, 动画, 音频等, 还有各种形式的 XML 文件
3.
说到这个 res 目录, 另外还有提下这个 assets 目录, 虽然这里没有, 但是我们可以自己创建, 两者的区别在于是否前者下所有的资源文件都会在 R.java 文件下生成对应的资源 id, 而后者并不会; 前者我们可以直接通过资源 id 访问到对应的资源; 而后者则需要我们通过 AssetManager 以二进制流的形式来读取! 对了, 这个 R 文件可以理解为字典, res 下每个资源都都会在这里生成一个唯一的 id!
4.
使用 mipmap 会在图片缩放在提供一定的性能优化, 分辨率不同系统会根据屏幕分辨率来选择 hdpi,mdpi,xmdpi,xxhdpi 下的对应图片
如果你想禁止 Android 不跟随屏幕密度加载不同文件夹的资源, 只需在 AndroidManifest.xml 文件中添加 android:anyDensity="false" 字段即可!
5.
drawable: 存放各种位图文件 当前项目的建议是只用 jpg 和 png
6.
layout: 该目录下存放的就是我们的布局文件, 另外在一些特定的机型上, 我们做屏幕适配, 比如 480*320 这样的手机, 我们会另外创建一套布局, 就行: layout-480x320 这样的文件夹!
7.
menu: 在以前有物理菜单按钮, 即 menu 键的手机上, 用的较多, 现在用的并不多,
8.
接下来说下 values 目录:
demens.xml: 定义尺寸资源
string.xml: 定义字符串资源
styles.xml: 定义样式资源
colors.xml: 定义颜色资源
arrays.xml: 定义数组资源
attrs.xml: 自定义控件时用的较多, 自定义控件的属性!
theme 主题文件, 和 styles 很相似, 但是会对整个应用中的 Actvitiy 或指定 Activity 起作用, 一般是改变窗口外观的! 可在 Java 代码中通过 setTheme 使用, 或者在 Androidmanifest.xml 中为添加 theme 的属性!
9.
你可能看到过这样的 values 目录: values-w820dp,values-v11 等,
前者 w 代表平板设备, 820dp 代表屏幕宽度;
v11 这样代表在 API(11), 即 android 3.0 后才会用到的!
10.
raw 目录: 用于存放各种原生资源 (音频, 视频, 一些 XML 文件等), 我们可以通过 openRawResource(int id) 来获得资源的二进制流
11.
还有个动画的, 动画有两种: 属性动画和补间动画:
animator: 存放属性动画的 XML 文件
anim: 存放补间动画的 XML 文件
来源: http://www.qdfuns.com/notes/19533/5b5e594aef587be24cb73ca108b326ed.html