红色字体部分为常用文件夹
一:创建自己的项目以后如果在自己的手机上安装创建的项目APP那么App的名字将会是项目名称
1. src:存放所有的*.ja
va源程序在这里需要强调的是 为了使你的项目看起来更加合理那么应该建立项目中需要的包然后再在相应的包中创建相应的java代码。
2. gen:为ADT插件自动生成的代码文件保存路径,里面的R.java将保存所有的资源ID里面的R.java文件不需要手动添加控件的ID 其会自动生成相应的ID号除非特殊情况需要手动的将自己所添加的控件中的ID加入到R.java中。
3. assets:可以存放项目一些较大的资源文件,例如:图片、音乐、字体等(个人建议不要在这里面放图片文件这样的话将文件放进res\drawable-中会使自己的项目更加清晰)。
4. res:可以存放项目中所有的资源文件,例如:图片(*.png、*.jpg)、文本等(将自己的文本文件或者是其他的资源放进来)。
5. res\drawable-hdpi:保存高分辨率图片资源,可以使用Resources.getDrawable(id)可以获得资源类型。
6. res\drawable-ldpi:保存低分辩率图片资源,可以使用Resources.getDrawable(id)可以获得资源类型。
7. res\drawable-mdpi:保存中等分辨率图片资源,可以使用Resources.getDrawable(id)可以获得资源类型。
8. res\layout:存放所有的布局文件,主要是用于排列不同的显示组件,在Android程序中要读取此配置在这个文件中可以创建自己的布局文件Main.xml 这样就能实现创建自己的布局管理文件然后在Activity中将主布局文件设置为当前自己的.xml布局文件。
9. res\values: 存放一些资源文件的信息,用于读取文本资源,在本文件夹之中有一些约定的文件名称:
· arrays.xml:定义数组数据;
· colors.xml:定义表示颜色的数据;
· dimens.xml:定义尺度,可以使用Resources.getDimension()获得这些资源;
· strings.xml:定义字符串,可以使用Resources.getString()或Resources.getText()方法获得这些资源;
· styles.xml:定义显示的样式文件;
10.res\raw:自定义的一些原生文件所在目录,像音乐、视频等文件格式,Resources.getRawResource()方法可以获得这些资源。
11. res\xml:用户自定义的XML文件,所有的文件在程序运行时编译到应用程序之中,在程序运行时可以使用Resources.getXML()方法获取。
12. res\anim:用于定义动画对象;
13. bin:生成apk的文件夹里面包含项目生成的文件。
说明:
1. drawable与layout里放的资源,项目会自动识别这些资源,然后会在R文件中对应每个资源文件生成一个id,你可以在代码中直接通过R.drawable.ID或者是R.layout.ID来调用这些资源。
2. asserts中的资源系统不会自动识别,需要你通过IO来自己读取,这里一般放置音频文件或者加密文件等系统无法识别的文件,当然你也可以把图片等放在这里,但是系统无法自动识别这些资源。 3. R类与资源文件关系说明
1). 静态类drawable类对应res文件夹中的drawable-hdpi、drawable-ldpi、drawable-mdpi三个文件夹,drawable类中每个整型的静态常量名与这三个文件夹中的图片资源文件相同(不含扩展名),这三个文件夹中相同文件名的资源对应同一个整型变量,Android系统会根据不同类型的屏幕分辨率,自动选取合适的图片资源。
2). 静态类layout类对应res文件夹中的layout文件夹,layout文件夹中的每个布局文件在layout类中都会有一个与文件名相同的整型静态变量。
3). 静态类string对应res/values文件夹中每个XML文件中的字符串资源,如上图中的strings.xml文件定义如下:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="hello"> HelloWorld!</string>
<string name="app_name">HelloWorld</string>
</resources>
string类使用中每个静态常量名与<string>元素中name属性值相同。
4. 特别说明!
1). 资源文件与清单文件AndroidManifest.xml
A. <application>元素中的android:icon属性会通过@drawable/icon的方式引用drawable资源文件夹中定义的icon.png图片作为Android桌面的启动图标; android:label会通过 @string/app_name的方式来引用values资源文件(这里是我认为很重要的地方 因为在我们自己只做自己的String 或者是自定义的控件时候就能够不会出现差错 往往很多时候问题就出现在这里)