Say Hello To Android(解析Android项目目录结构)
一、Android项目目录结构(HelloWorld项目)
1、src文件夹
Sorce Code,该文件夹存放项目源代码
public class Helloworld extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
}
新建项目时,会自动生成一个.java类,同时这个类导入了其他两个类:android.app.Activity和android.os.Bundle,此类继承Activity并重写onCreate()方法
Activity类:几乎所有的活动(activities)都是与用户交互的,所以Activity类关注创建窗口,你可以用方法setContentView(View)将自己的UI放到里面。然而活动通常以全屏的方式展现给用户,也可以以浮动窗口或嵌入在另一个活动中。有两个方法几乎是所有Activity子类都实现的:
onCreate(Bundle):初始化活动(Activity),比如完成一些图形的绘制。此方法中一般调用的方法有:setContentView(int)—定义UI;findViewById(int)—在UI中检索控件。
onPause():处理当离开活动时要做的事情。最重要的是,用户做的所有改变应该在这里提交(通常ContentProvider保存数据)。
Bundle类:从字符串值映射各种可打包的类型。如该类提供了公有方法—public boolean containKey(String key),如果给定的key包含在Bundle的映射中返回true,否则返回false。
2、gen文件夹
该文件夹下有个R.java文件,是在建立项目时自动生成的,这个文件是只读模式的,不能更改。R.java文件中定义了一个类—R,R类中包含着很多静态类,且静态类的名字都与res文件中的名字相对应,即R类中定义该项目所有资源的索引。
通过R.java我们可以很快的查找我们所需要的资源,另外编译器也会检查R.java列表中的资源是否被用到,没有被使用到的资源不会被编译进软件中,这样可以减少应用在手机占用的空间。
3、Android文件夹
该文件夹包含android.jar文件
4、assets文件夹
包含应用系统需要使用到的诸如map3、视频类的文件
5、res文件夹
资源目录,包含项目中资源文件并将编译进应用程序。向此目录添加资源时,会被R.java自动记录。res有三个子目录:
drawable-?dpi:包含应用程序用到的图标文件,分别表示高、中、低分辨率
layout:界面布局文件(main.xml)
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/hello" />
</LinearLayout>
values:软件上所需要显示的各种文字,可以存放多个xml文件,还可以存放不同类型的数据,如:color.xml、styles.xml等
<resources>
<string name="hello">Hello World, HelloworldActivity!</string>
<string name="app_name">Helloworld</string>
</resources>
6、AndroidManifest.xml
项目的总配置文件,记录应用中所使用的各种组件,这个文件列出了应用程序所提供的功能,在这个文件中,可以指定应用程序使用到的服务(如电话、互联网、短信服务等)。
每次加一个Activity,都需要在此文件中配置。
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="test.android" android:versionCode="1" android:versionName="1.0" >
<uses-sdk android:minSdkVersion="4" />
<application android:icon="@drawable/ic_launcher" android:label="@string/app_name" >
<activity android:name=".Helloworld" android:label="@string/app_name" >
<!--应用程序启动时默认启动的Activity-->
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
7、defaule.properties
记录项目中所需要的环境信息,如Android的版本等
更多相关文章
- android 中的 odex 文件
- Android 在资源文件(res/strings.xml)定义一维数组,间接定义二维数
- 使用Android Dropbox API检查Dropbox上是否存在文件
- Android中的内存储、外存储概念、文件操作与PC端的有些不同
- Android 打包VersionCode自增、APK文件名修改、上传蒲公英
- Android开发-直播视讯(3)-创建一个Ubuntu虚拟机并实现VMtools文
- 关于Android资源文件中出现百分号的问题
- 有没有方法在不root手机的情况下读取Data目录下的文件
- Android 中文件类型与MIME的匹配表