Android培训班(41)
在这一节,我先从一个简单的计算器入手,带着大家来分析android系统应用程序的结构、实现方式、源码的组织,以及代码修改后的效果显示。通过学习系统应用程序,可以了解android的应用程序,也可以学到开发应用程序的基本知识,也可以深入理解android系统的应用程序的实现,比如汉化、多语言、添加功能等等,这对于初学者是非常重要的一环。下面就开始来学习计算器的应用程序,接着进入下面的目录,并 查看文件:
Android-2.0/packages/apps/Calculator
在目录下,可以看到有如下文件:
2010-02-21 21:32 AndroidManifest.xml
2010-02-21 21:32 Android.mk
2010-02-21 21:32 arity-1.3.3.jar
2010-02-21 21:32 MODULE_LICENSE_APACHE2
2010-02-21 21:32 NOTICE
2010-02-21 21:32 res
2010-02-21 21:32 src
2010-02-21 21:32 tests
AndroidManifest.xml 文件是Android应用程序中最重要的文件之一,它是应用程序的全局配置文件,是每个android应用程序中必须的文件,位于应用程序的根目录下,描述了包中的全局数据,包括包中暴露的组件,以及自己实现的类,各种能被处理的数据和启动位置等重要信息。这个文件内容如下:
<?xml version="1.0" encoding="utf-8"?>
这一行说明XML文件的标准,使用utf-8编码。
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.android.calculator2">
manifest节点描述了xml使用的规范,因此xmlns指向android的命名空间。
package属性说明这个应用程序的包名称,这里是 com.android.calculator2。
<application android:label="@string/app_name" android:icon="@drawable/icon">
这一行是应用程序的属性。 android:label是指明应用程序的标题,这里是从应用程序的字符串资里读取app_name的字符串来显示。 android:icon是指明应用程序的图标,这里指明从目录drawable的icon名称的图标。
<activity android:name="Calculator"
android:theme="@android:style/Theme.Black.NoTitleBar">
这一行是说明应用程序启动的窗口类, android:name是指明窗口类的名称,这里是 Calculator。 android:theme是指明窗口显示样式。
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
这段是指明启动时应用程序入口函数,并且说明启动后放到主窗口显示。其实 intent-filter节点是过滤的意思,就是说通过这个节点里的内容明指是那些分类起作用,否则就是全部的分类起作用。
android.intent.action.MAIN决定应用程序最先启动的Activity,在一个应用程序里有多个Activity时,一定要指明那一个先运行,否则虚拟机就不知道运行那一个了。
android.intent.category.LAUNCHER决定应用程序是否显示在程序列表里。如果不需要显示这个应用程序到列表里,就可以不添加这项。
因此,这两项内容是应用程序入口描述和指定。
</activity>
</application>
</manifest>
从上面这个例子的XML描述文件可知,它是包括了很多重要信息在里面的,否则虚拟机加载运行后,就不知所措了。其实这个文件,还可以添加更加属性,具体请参考android里SDK的开发说明文档。
补充:移动开发 , Android ,