您的位置:首页 > 移动开发 > Android开发

android项目的目录结构以及简要说明

2011-07-28 10:47 609 查看
1、HelloWorld项目的目录结构
1.1、src文件夹
1.2、gen文件夹
1.3、Android 2.2文件夹
1.4、assets
1.5、res文件夹
1.6、AndroidManifest.xml
1.7、default.properties
如图所示


src文件夹,顾名思义,就是存放java源代码的地方。
例如我们的代码如下

+ expand sourceview plainprint?package cn.com.android.phone;

import android.app.Activity;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;

public class PhoneCaller extends Activity {
private EditText editText;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);

editText = (EditText) findViewById(R.id.editText);

Button button = (Button) findViewById(R.id.myButton);
button.setOnClickListener(new OnClickListener(){

public void onClick(View v) {
String number = editText.getText().toString();
// 声明打电话的意图
Intent intent = new Intent(Intent.ACTION_CALL,Uri.parse("tel:"+number));
// 将意图传递给操作系统
PhoneCaller.this.startActivity(intent);
}

});

}
}
package cn.com.android.phone;import android.app.Activity;import android.content.Intent;import android.net.Uri;import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.EditText;public class PhoneCaller extends Activity {    private EditText editText;    @Override    public void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.main);                 editText = (EditText) findViewById(R.id.editText);                Button button = (Button) findViewById(R.id.myButton);        button.setOnClickListener(new OnClickListener(){public void onClick(View v) {String number = editText.getText().toString();// 声明打电话的意图Intent intent = new Intent(Intent.ACTION_CALL,Uri.parse("tel:"+number));// 将意图传递给操作系统PhoneCaller.this.startActivity(intent);}                        });                                            }}

我们的类继承了Activity这个类。一般我们都会实现其中的onCreate方法和onPause方法

onCreate方法
该方法主要用于初始化我们的Activity。当用户通过请求和我们交互的时候,我们就通过Activity做出相应的处理。Activity从功能上说,比较像struts中的action.是系统和用户交互的一个接口。
onPause方法
该方法在当你的Activity被销毁前执行的方法,一般用来进行数据的实例化。(Activity被销毁的原因有很多种,比如人为的,或者系统内存不足时等等)。

gen文件夹
gen文件夹,主要包含一个R.java文件,这个文件是由系统自动维护的,不允许人为的修改,否则将会出现很多让你郁闷的错误。
R.java是一个android资源的索引文件,里面定义了大量的静态内部类和静态常量,静态类的名称都和res文件夹下的文件夹一一对应的。如图



既然都是索引文件,那么该文件的作用和数据库中索引作用肯定也是差不多。它可以帮助我们快速的定位文件,此外,编译器还会检查R.java中定义的资源是否被使用了,如果没有被使用,那么打成安装包的时候,会自动过滤掉那些没被使用的资源,这样可以大大的节约空间。
(在强调一遍,没事不要瞎改R.java文件)

Android 2.2文件夹

没什么可说的,一个基础jar包。

asset文件夹

该文件夹下通常会存放一些资源文件,例如mp3/视频文件等等。
这个文件被称为原生文件夹,意思就是存放在这里的文件在打包成安装包时,会原样打包,不进行压缩等各种处理。这和res文件夹下的文件是不一样的,res下的资源文件会进行压缩处理的。主要的目的,实际上还是为了节约空间。

res文件夹

主要有三个子文件夹,drawable_?dpi、layout、values
drawable_?dpi:很多人疑问为什么这个文件夹下会分出来三个子文件夹,drawable_hdpi高分辨率、drawable_ldpi低分辨率、drawable_mdpi一般分辨率,实际上这和我们在asset中提到的文件优化压缩有关,android会对三个文件夹下的文件使用不同的压缩优化算法。这样就既保证了我们对某些图片较高分辨率的要求,也保证了这些资源不会占用太多的空间。
layout存放布局文件。包括主布局文件和一般的组件布局文件。
values下可以存放很多.xml文件,例如arrays.xml、colors.xml、dimens.xml、styles.xml,当然这些xml文件的名称都是随意取得。

AndroidManifest.xml

default.properties

记录了项目运行的环境信息,例如android的版本要求等。
项目的总配置文件,记录应用中所使用的各种组件。这个文件列出了应用程序所提供的功能,在这个文件中,你可以指定应用程序使用到的服务(如电话服务、互联网服务、短信服务、GPS服务等等)。另外当你新添加一个Activity的时候,也需要在这个文件中进行相应配置,只有配置好后,才能调用此Activity。AndroidManifest.xml将包含如下设置:application permissions、Activities、intent filters等。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: