门户网站开发设计报告,百度快照在哪里找,盐城网站建站,高明网站设计哪家服务好原文#xff1a;http://android.eoe.cn/topic/summary Android开发之旅#xff1a;组件生命周期吴秦 Android开发之旅#xff1a;HelloWorld项目的目录结构 * HelloWorld项目的目录结构* #xff08;这个HelloWorld项目是基于Android 2.1的#xff09;在Eclipse的左侧展开…原文http://android.eoe.cn/topic/summary Android开发之旅组件生命周期吴秦 Android开发之旅HelloWorld项目的目录结构 * HelloWorld项目的目录结构* 这个HelloWorld项目是基于Android 2.1的在Eclipse的左侧展开HelloWorld项目可以看到如下图的目录结构 Image:http://andriki.com/mediawiki/images/c/c8/Image_thumb_1.png 下面将分节介绍上面的各级目录结构。 * src文件夹* 顾名思义src, source code该文件夹是放项目的源代码的。打开HelloWorld.java文件会看到如下代码package helloworld.test; import android.app.Activity;import android.os.Bundle; public class HelloWorld extends Activity {/* * Called when the activity is first created. * /Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.main);}} 可以知道我们新建一个简单的HelloWorld项目系统为我们生成了一个HelloWorld.java文件。他导入了两个类android.os.BundleHelloWorld类继承自Activity且重写了onCreate方法。以下说明针对没有学过Java或者Java基础薄弱的人 Override 在重写父类的onCreate时在方法前面加上Override 系统可以帮你检查方法的正确性。例如void onCreate(Bundle savedInstanceState){…….}这种写法是正确的如果你写成void oncreate(Bundle savedInstanceState){…….}这样编译器回报如下错误——The method oncreate(Bundle) of type HelloWorld must override or implement a supertype method以确保你正确重写onCreate方法。因为oncreate应该为onCreate 而如果你不加Override则编译器将不会检测出错误而是会认为你新定义了一个方法oncreate。Activity类关注创建窗口你可以用方法Activity子类都实现的 setContentView(int)方法定义你的UI和用setContentView指定由哪个文件指定布局main.xml可以将这个界面显示出来然后我们进行相关操作我们的操作会被包装成为一个意图然后这个意图对应有相关的activity进行处理。 ContentProvider保存数据。 更多的关于Activity类的详细信息此系列以后的文章将做介绍如果你想了解更多请参阅相关文档。 android.os.Bundle类从字符串值映射各种可打包的Parcelable类型Bundle单词就是捆绑的意思所有这个类很好理解和记忆。如该类提供了公有方法——public boolean containKey(String key)如果给定的key包含在Bundle的映射中返回true否则返回false。该类实现了Parceable和Cloneable接口所以它具有这两者的特性。 * gen文件夹* 该文件夹下面有个R.java文件R.java是在建立项目时自动生成的这个文件是只读模式的不能更改。R.java文件中定义了一个类——RR类中包含很多静态类且静态类的名字都与res中的一个名字对应即R类定义该项目所有资源的索引。看我们的HelloWorld项目是不是如此如下图Image:R thumb.png图2、R.java对应res 通过R.java我们可以很快地查找我们需要的资源另外编绎器也会检查R.java列表中的资源是否被使用到没有被使用到的资源不会编绎进软件中这样可以减少应用在手机占用的空间。** Android 2.1文件夹* 该文件夹下包含android.jar文件这是一个Java 归档文件其中包含构建应用程序所需的所有的Android SDK 库如Views、Controls和APIs。通过android.jar将自己的应用程序绑定到Android SDK和Android Emulator这允许你使用所有Android的库和包且使你的应用程序在适当的环境中调试。例如上面的HelloWorld.java源文件中的 import android.app.Activity;import android.os.Bundle; 这里两行代码就是从android.jar导入包。 * assets* 包含应用系统需要使用到的诸如mp3、视频类的文件。 * res文件夹* 资源目录包含你项目中的资源文件并将编译进应用程序。向此目录添加资源时会被R.java自动记录。新建一个项目res目录下会有三个子目录drawabel、layout、values。 drawabel-?dpi包含一些你的应用程序可以用的图标文件(* .png、* .jpg)layout界面布局文件(main.xml)与WEB应用中的HTML类同没修改过的main.xml文件如下HelloWorld的就没有修改过main.xml?xml versionutf-8? values软件上所需要显示的各种文字。可以存放多个* .xml文件还可以存放不同类型的数据。比如arrays.xml、colors.xml、dimens.xml、styles.xml* AndroidManifest.xml* 项目的总配置文件记录应用中所使用的各种组件。这个文件列出了应用程序所提供的功能在这个文件中你可以指定应用程序使用到的服务(如电话服务、互联网服务、短信服务、GPS服务等等)。另外当你新添加一个Activity的时候也需要在这个文件中进行相应配置只有配置好后才能调用此Activity。AndroidManifest.xml将包含如下设置application permissions、Activities、intent filters等。如果你跟我一样是ASP.NET出生或者学过你会发现AndroidManifest.xml跟web.config文件很像可以把它类同于web.config文件理解。 如果你不是你可以这样理解——众所周知xml是一种数据交换格式AndroidManifest.xml就是用来存储一些数据的只不过这些数据时关于android项目的配置数据。HelloWorld项目的AndroidManifest.xml如下所示?xml versionutf-8?关于AndroidManifest.xml现在就讲这么多此系列后面的文章将单独详细介绍。 * default.properties* 记录项目中所需要的环境信息比如Android的版本等。 HelloWorld的default.properties文件代码如下所示代码中的注释已经把default.properties解释得很清楚了default.properties# This file is automatically generated by Android Tools. Do not modify this file -- YOUR CHANGES WILL BE ERASED! This file must be checked in Version Control Systems. To customize properties used by the Ant build system use, build.properties, and override values to adapt the script to your project structure. Indicates whether an apk should be generated for each density. split.densityfalse Project target. targetandroid-7