在搭建Android开发环境及简单地建立一个HelloWorld项目后,本篇将通过HelloWorld项目来介绍Android项目的目录结构。本文的主要主题如下:
1、HelloWorld项目的目录结构
11、src文件夹
12、gen文件夹
13、Android 21文件夹
14、assets
15、res文件夹
16、AndroidManifestxml
17、defaultproperties
图1、HelloWorld项目目录结构
下面将分节介绍上面的各级目录结构。
11、src文件夹
顾名思义(src, source code)该文件夹是放项目的源代码的。打开HelloWorldjava文件会看到如下代码:
package helloworldtest; import androidappActivity; import androidosBundle; public class HelloWorld extends Activity { / Called when the activity is first created / @Override public void onCreate(Bundle savedInstanceState) { superonCreate(savedInstanceState); setContentView(Rlayoutmain); } }
可以知道:我们新建一个简单的HelloWorld项目,系统为我们生成了一个HelloWorldjava文 件。他导入了两个类androidappActivity和androidosBundle,HelloWorld类继承自Activity且重 写了onCreate方法。
以下说明针对没有学过Java或者Java基础薄弱的人
@Override
在重写父类的onCreate时,在方法前面加上@Override 系统可以帮你检查方法的正确性。
例如,public void onCreate(Bundle savedInstanceState){……}这种写法是正确的,
如果你写成public void oncreate(Bundle savedInstanceState){……}这样编译器回报如下错误——
The method oncreate(Bundle) of type HelloWorld must override or implement a supertype method,
以确保你正确重写onCreate方法。(因为oncreate应该为onCreate)
而如果你不加@Override,则编译器将不会检测出错误,而是会认为你新定义了一个方法oncreate。
androidappActivity类:因为几乎所有的活动 (activities)都是与用户交互的,所以Activity类关注创建窗口,你可以用方法setContentView(View)将自己的UI放 到里面。然而活动通常以全屏的方式展示给用户,也可以以浮动窗口或嵌入在另外一个活动中。有两个方法是几乎所有的Activity子类都实现的:
onCreate(Bundle): 初始化你的活动(Activity),比如完成一些图形的绘制。最重要的是,在这个方法里你通常将用布局资源(layout resource)调用setContentView(int)方法定义你的UI,和用findViewById(int)在你的UI中检索你需要编程地 交互的小部件(widgets)。setContentView指定由哪个文件指定布局(mainxml),可以将这个界面显示出来,然后我们进行相关 *** 作,我们的 *** 作会被包装成为一个意图,然后这个意图对应有相关的activity进行处理。
onPause():处理当离开你的活动时要做的事情。最重要的是,用户做的所有改变应该在这里提交(通常ContentProvider保存数据)。
更多的关于Activity类的详细信息此系列以后的文章将做介绍,如果你想了解更多请参阅相关文档。
androidosBundle 类:从字符串值映射各种可打包的(Parcelable)类型(Bundle单词就是捆绑的意思,所有这个类很好理解和记忆)。如该类提供了公有方法—— public boolean containKey(String key),如果给定的key包含在Bundle的映射中返回true,否则返回false。该类实现了Parceable和Cloneable接口,所以 它具有这两者的特性。
12、gen文件夹
该 文件夹下面有个Rjava文件,Rjava是在建立项目时自动生成的,这个文件是只读模式的,不能更改。Rjava文件中定义了一个类——R,R类 中包含很多静态类,且静态类的名字都与res中的一个名字对应,即R类定义该项目所有资源的索引。看我们的HelloWorld项目是不是如此,如下图:
图2、Rjava对应res
通过Rjava我们可以很快地查找我们需要的资源,另外编绎器也会检查Rjava列表中的资源是否被使用到,没有被使用到的资源不会编绎进软件中,这样可以减少应用在手机占用的空间。
13、Android 21文件夹
该 文件夹下包含androidjar文件,这是一个Java 归档文件,其中包含构建应用程序所需的所有的Android SDK 库(如Views、Controls)和APIs。通过androidjar将自己的应用程序绑定到Android SDK和Android Emulator,这允许你使用所有Android的库和包,且使你的应用程序在适当的环境中调试。例如上面的HelloWorldjava源文件中 的:
import androidappActivity; import androidosBundle;
这里两行代码就是从androidjar导入包。
14、assets
包含应用系统需要使用到的诸如mp3、视频类的文件。
15、res文件夹
资源目录,包含你项目中的资源文件并将编译进应用程序。向此目录添加资源时,会被Rjava自动记录。新建一个项目,res目录下会有三个子目录:drawabel、layout、values。
drawabel-dpi:包含一些你的应用程序可以用的图标文件(png、jpg)
layout:界面布局文件(mainxml)与WEB应用中的HTML类同,没修改过的mainxml文件如下(HelloWorld的就没有修改过):
<xml version="10" encoding="utf-8"> <LinearLayout xmlns:android=">
以上就是关于与Android应用程序相关的文件目录都有哪些全部的内容,包括:与Android应用程序相关的文件目录都有哪些、安卓-ComponentName、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)