【Android每日一练】Android项目结构详解
16lz
2021-12-04
视频讲解:http://www.eyeandroid.com/thread-6134-1-1.html
Android 工程目录结构介绍
当我们完成完 Android 工程如(HelloWorld)后,展开“Package Explorer”窗口里的
“HelloWorld”项名称,可以看见如下目录结构:
src目录
该目录是Android工程的源程序目录,该目录是存放项目的源代码的
gen目录
该目录存放所有自动生成的文件,这个目录中最关键的文件是R.java。R.java是个中介文件,在建立项目时自动生成,这个文件是只读模式的,不能更改。R.java文件是自动产生的R类,R类中包含很多静态类,且静态类的名字都与res中的一个名字对应,就像是个资源字典大全。其中包含了用户界面、图像、字符串等对应各个资源的标识符,R类定义了该项目所有资源的索引。例如界面中有一个文本框控件,这个控件就在布局文件中有id,id是“android:id="@+id/textview"”,那么通过R.id.textview"就可以找到这个控件。通过R.java可以很快地查找到所需要的资源,同时编译器也会检查R.java列表中的资源是否被使用,没被使用到的资源不会被编译到软件中,这样可以减少在手机占用的空间。
assets目录
除了提供res目录存放资源文件外,Android在assets目录也可以存放资源文件,assets目录下的资源文件不会在R.java自动生成id,所以读取assets目录下的文件必须指定文件的路径,可以通过AssetManager类来访问这些文件,如下代码实现了访问一个该目录下图片文件的功能:
private Bitmap getImageFromAssetFile(String fileName){
Bitmap image = null;
try{
AssetManager am = context.getAssets();
InputStream is = am.open(fileName);
image = BitmapFactory.decodeStream(is);
is.close();
}catch(Exception e){
}
return image;
}
bin目录
在使用Eclipse开发时,可以不用关心bin目录。如果在Eclipse中看不到,可以到资源管理器下面查看。
res目录
res资源目录,它包含项目中的资源文件并将其编译进应用程序中,向此目录添加资源时,会被R.java自动记录。res目录存放所有程序中用到的资源文件。“资源文件”指的是资料文件、图片等。子目录有:drawable、layout、values。
drawable。存放一些应用程序需要用的图片文件(*.png、*.jpg),Android 1.5及以下版本目录是drawable,Android 1.5以上版本有3个:drawable-hdpi、drawable-mdpi和drawable-ldpi。drawable-hdpi放置高质量的图片。drawable-mdpi放置中质量图片,drawable-ldpi放置低质量的图片。虽然是3个目录,但是在使用R文件访问时,与Android 1.5及以下版本一样的。
layout。屏幕布局目录,layout目录内默认布局文件是main.xml,可以在该文件内放置不同的布局结构和控件,来满足项目界面的需要,也可以新建布局文件。
values。参数值目录,存放软件所需要显示的各种文字和一些数据。可以在这个目录下的strings.xml存放各种文字,还可以存放不同类型的数据,比如arrays.xml、colors.xml、styles.xml等。例如:在main.xml布局文件中访问strings.xml文件内容可以是"@+string/hello"方式,在程序中访问方式为R.string.hello。
raw资源目录。使用Eclipse创建Android工程,默认情况下不会在res目录下面创建这个目录,如果需要可以自己创建这个目录,它可以通过I/O流访问,如应用中内置音频文件,就可以放置在这个目录下面。访问方式为R.raw.xxx方式。
关于res和assets的区别请参考: http://www.eyeandroid.com/thread-1826-1-1.html
AndroidManifest.xml
它是每个android程序中必需的文件,它在工程的根目录下。AndroidManifest.xml是项目的总配置文件,记录应用中所使用的各种组件。这个文件列出了应用程序所提供的功能,可以指定应用程序中使用到的服务权限(如GPS服务、互联网服务、短信服务等)。
Android 工程目录结构介绍
当我们完成完 Android 工程如(HelloWorld)后,展开“Package Explorer”窗口里的
“HelloWorld”项名称,可以看见如下目录结构:
src目录
该目录是Android工程的源程序目录,该目录是存放项目的源代码的
gen目录
该目录存放所有自动生成的文件,这个目录中最关键的文件是R.java。R.java是个中介文件,在建立项目时自动生成,这个文件是只读模式的,不能更改。R.java文件是自动产生的R类,R类中包含很多静态类,且静态类的名字都与res中的一个名字对应,就像是个资源字典大全。其中包含了用户界面、图像、字符串等对应各个资源的标识符,R类定义了该项目所有资源的索引。例如界面中有一个文本框控件,这个控件就在布局文件中有id,id是“android:id="@+id/textview"”,那么通过R.id.textview"就可以找到这个控件。通过R.java可以很快地查找到所需要的资源,同时编译器也会检查R.java列表中的资源是否被使用,没被使用到的资源不会被编译到软件中,这样可以减少在手机占用的空间。
assets目录
除了提供res目录存放资源文件外,Android在assets目录也可以存放资源文件,assets目录下的资源文件不会在R.java自动生成id,所以读取assets目录下的文件必须指定文件的路径,可以通过AssetManager类来访问这些文件,如下代码实现了访问一个该目录下图片文件的功能:
private Bitmap getImageFromAssetFile(String fileName){
Bitmap image = null;
try{
AssetManager am = context.getAssets();
InputStream is = am.open(fileName);
image = BitmapFactory.decodeStream(is);
is.close();
}catch(Exception e){
}
return image;
}
bin目录
在使用Eclipse开发时,可以不用关心bin目录。如果在Eclipse中看不到,可以到资源管理器下面查看。
res目录
res资源目录,它包含项目中的资源文件并将其编译进应用程序中,向此目录添加资源时,会被R.java自动记录。res目录存放所有程序中用到的资源文件。“资源文件”指的是资料文件、图片等。子目录有:drawable、layout、values。
drawable。存放一些应用程序需要用的图片文件(*.png、*.jpg),Android 1.5及以下版本目录是drawable,Android 1.5以上版本有3个:drawable-hdpi、drawable-mdpi和drawable-ldpi。drawable-hdpi放置高质量的图片。drawable-mdpi放置中质量图片,drawable-ldpi放置低质量的图片。虽然是3个目录,但是在使用R文件访问时,与Android 1.5及以下版本一样的。
layout。屏幕布局目录,layout目录内默认布局文件是main.xml,可以在该文件内放置不同的布局结构和控件,来满足项目界面的需要,也可以新建布局文件。
values。参数值目录,存放软件所需要显示的各种文字和一些数据。可以在这个目录下的strings.xml存放各种文字,还可以存放不同类型的数据,比如arrays.xml、colors.xml、styles.xml等。例如:在main.xml布局文件中访问strings.xml文件内容可以是"@+string/hello"方式,在程序中访问方式为R.string.hello。
raw资源目录。使用Eclipse创建Android工程,默认情况下不会在res目录下面创建这个目录,如果需要可以自己创建这个目录,它可以通过I/O流访问,如应用中内置音频文件,就可以放置在这个目录下面。访问方式为R.raw.xxx方式。
关于res和assets的区别请参考: http://www.eyeandroid.com/thread-1826-1-1.html
AndroidManifest.xml
它是每个android程序中必需的文件,它在工程的根目录下。AndroidManifest.xml是项目的总配置文件,记录应用中所使用的各种组件。这个文件列出了应用程序所提供的功能,可以指定应用程序中使用到的服务权限(如GPS服务、互联网服务、短信服务等)。
更多相关文章
- android 中文API:android
- Android(安卓)Studio升级后projectBuild failed.
- 转载:android 各种xml资源的引用方式
- android sdk 升级出错及解决方案
- Android——build.prop 解析
- android 绿色开发环境
- Android基础知识之Manifest文件的组织结构
- Android开发资源整理
- android手机屏幕适配方法