首先在eclipse中新建一个HelloAndroid的项目,目录工程如下图所示:
1.src文件夹
这里是存放android项目的源代码的。通常我们会在下面新建好多包,用来规范的管理我们的代码。src下面的java代码会被编译成.class字节码文件,其他的原样保留。
2.res文件夹
这里的图片会被自动进行无损压缩优化,使得在保证图片质量的同时减小图片占用的内存。
drawable-xxxx目录分别对应不同的屏幕分辨率:
drawable-ldpi 低分辨率(240*320左右)
drawable-mdpi 中等分辨率(320*480左右)
drawable-hdpi 高分辨率(480*800左右)
drawable-xhdpi 超高分辨率(720p)
drawable-xxhdpi 极高分辨率(1080p及以上)
通常将不同分辨率的图片文件放到对应的drawable-xxxx目录下,将XML文件放到drawable目录下。Android系统会根据设备屏幕的分辨率智能地加载对应文件夹下的图片资源,这是Android系统对多屏幕的支持。这几个目录中的资源会被收录到R.java文件的drawable内部类中。
- array.xml 定义数组
- colors.xml 定义color drawable和颜色的字符串值(color string values)。使用Resource.getDrawable()和Resources.getColor()分别获得这些资源。
- dimens.xml 定义尺寸值(dimension value)。使用Resources.getDimension()获得这些资源。
- strings.xml 定义字符串(string)值。使用Resources.getString()或者Resources.getText()获取这些资源。getText()会保留在UI字符串上应用的丰富的文本样式。
- styles.xml 定义样式(style)对象。
- attrs.xml 定义自定义的组件属性。
3.gen文件夹
从上往下看,array类保存数组的资源索引,drawable:保存图片索引,id:保存布局文件中控件id,layout:保存布局文件的索引,string:保存字符串资源的索引。
注意,R.java
这个类是保存着当前项目中工程师定义的资源索引,而android.R.java
,是保存着android内部预定义好的资源索引。通过R.java我们可以很快地查找我们需要的资源,另外编绎器也会检查R.java列表中的资源是否被使用到,没有被使用到的资源不会编绎进软件中,这样可以减少应用在手机占用的空间。
4. Android4.4w文件夹
import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
这里四行代码就是从android.jar导入包。
5.Android Dependencies和Android Private Libraries的介绍
6.assets文件夹
该文件夹下通常会存放一些资源文件,例如mp3/视频文件等等。
这个文件被称为原生文件夹,意思就是存放在这里的文件在打包成安装包时,会原样打包,不进行压缩等各种处理。这和res文件夹下的文件是不一样的,res下的资源文件会进行压缩处理的。主要的目的,实际上还是为了节约空间。
7.bin文件夹
8.libs文件夹
9. AndroidManifest.xml文件夹
AndroidManifest.xml
配置文件中的代码:<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.helloandroid"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="21" />
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name=".MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
点我