Android之项目的目录结构
本篇将介绍Android项目的目录结构。本文的主要主题如下:
- 1、jieche项目的目录结构
- 1.1、src文件夹
- 1.2、libs文件夹
- 1.3、res文件夹
- 1.4、AndroidManifest.xml
- 1.5、R.java文件
1.1、src文件夹
顾名思义(src, source code)该文件夹是放项目的源代码的。打开文件夹会看到如下:
java文件夹下面的就是项目的源代码
1.2、libs文件夹
包含可以给应用程序调用的第三方类库
1.3、res文件夹
资源目录,包含你项目中的资源文件并将编译进应用程序。向此目录添加资源时,会被R.java自动记录。新建一个项目,res目录下会有三个子目录:drawabel、layout、values。
- drawabel-?dpi:包含一些你的应用程序可以用的图标文件(*.png、*.jpg);
- layout:界面布局文件(main.xml)与WEB应用中的HTML类同;
- values:软件上所需要显示的各种文字。可以存放多个*.xml文件,还可以存放不同类型的数据。比如arrays.xml、colors.xml、dimens.xml、styles.xml
1.4、AndroidManifest.xml
项目的总配置文件,记录应用中所使用的各种组件。这个文件列出了应用程序所提供的功能,在这个文件中,你可以指定应用程序使用到的服务(如电话服务、互联网服务、短信服务、GPS服务等等)。另外当你新添加一个Activity的时候,也需要在这个文件中进行相应配置,只有配置好后,才能调用此Activity。AndroidManifest.xml将包含如下设置:application permissions、Activities、intent filters等。
AndroidManifest.xml就是用来存储一些数据的,只不过这些数据时关于android项目的配置数据。
项目的AndroidManifest.xml如下所示:
1 <?xml version="1.0" encoding="utf-8"?> 2 <manifest xmlns:android="http://schemas.android.com/apk/res/android" 3 package="com.harsons.jieche.activity" > 4 <application 5 android:allowBackup="true" 6 android:icon="@drawable/ic_launcher" 7 android:label="@string/app_name" 8 android:theme="@style/AppTheme" > 9 <activity 10 android:name="com.harsons.jieche.activity.MainActivity" 11 android:label="@string/app_name" > 12 <intent-filter> 13 <action android:name="android.intent.action.MAIN" /> 14 <category android:name="android.intent.category.LAUNCHER" /> 15 </intent-filter> 16 </activity> 17 <activity 18 android:name="com.harsons.jieche.activity.BespeakActivity" 19 android:label="@string/title_activity_bespeak" > 20 </activity> 21 <activity 22 android:name="com.harsons.jieche.activity.CarsActivity" 23 android:label="@string/title_activity_cars" > 24 </activity> 25 <activity 26 android:name="com.harsons.jieche.activity.ClientActivity" 27 android:label="@string/title_activity_client" > 28 </activity> 29 <activity 30 android:name="com.harsons.jieche.activity.LoginActivity" 31 android:label="@string/title_activity_login" > 32 </activity> 33 <activity 34 android:name="com.harsons.jieche.activity.RenderActivity" 35 android:label="@string/title_activity_render" > 36 </activity> 37 <activity 38 android:name="com.harsons.jieche.activity.SelClientActivity" 39 android:label="@string/title_activity_sel_client" > 40 </activity> 41 <service android:name="com.harsons.jieche.service.MainService" > 42 </service> 43 <activity 44 android:name="com.harsons.jieche.activity.JiecheRegActivity" 45 android:label="@string/title_activity_jieche_reg" > 46 </activity> 47 </application> 48 <uses-permission android:name="android.permission.INTERNET" /> 49 </manifest>
1.5、R.java文件在build文件夹下,如图:
R.java是在建立项目时自动生成的,这个文件是只读模式的,不能更改。R.java文件中定义了一个类——R,R类中包含很多静态类,且静态类的名字都与res中的一个名字对应,即R类定义该项目所有资源的索引。如下图:
通过R.java我们可以很快地查找我们需要的资源,另外编绎器也会检查R.java列表中的资源是否被使用到,没有被使用到的资源不会编绎进软件中,这样可以减少应用在手机占用的空间。
正在学习Android Developing