....>
....
"AndroidManifest.xml" 这个档桉也是以 XML 格式描述,每个 Android 应用程序都需要一个
"AndroidManifest.xml" 档桉,每份 "AndroidManifest.xml" 档桉的开头都会出现这段叙述。而整 个
"AndroidManifest.xml" 档桉的叙述,都包含在 "manifest"( 清单 ) 这个主要标签中。
代码 :
package="com.demo.android.bmi"
"package" 是 "manifest"( 清单 ) 标签的一个特别属性,范例中的内容可用来标明,这个应用程序的进
入点存在于 "com.demo.android.bmi" 这个名称空间 / 路径中。
代码 :
android:versionCode="1"
android:versionName="1.0"
"android:versionCode" 和 "android:versionName" 是应用程序版本号。 这两个属性是可选的 ( 非必
要 ) 。 "android:versionName" 是给使用者看的版本号, 如 "1.0" 、 "2.0" 。
"android:versionCode" 则是开发者用的内部版本号,一般使用流水号。
代码 :
..
"manifest" 标签中主要包含一个 "application" 标签 ( 备注 1) 。 "application" 标签里面,定义了
所有这个应用程序用到的 Activity 、服务等资讯。 "application" 标签中的 "android:icon" 属性,
定义了这个应用程序将显示在 Android 主画面中的应用程序图示。
表示应用程序图示的资源档存在于 "res/drawable /icon" 中。
图示的大小必须超过 64x64 像素( Pixel )。 "application" 标签中的 "android:label" 属性可用来
指定应用程序将显示在 Home 主画面上的名称。也就是预设刚开好机时,可以从桌面下方拉出的应用程序
...
"application" 标签中所有用到的 Activity ,都要包含在一个个 "activity" 标签中 ( 备注 2) 。
Activity 是 Android 应用程序与使用者互动的主要元素,当使用者开启一个应用程序,第一个看到的画
面就是一个 Activity 。若是一个应用程序中包含多个画面时,会定义多个不同的 Activity ,我们也必
须在 "application" 标签中,使用多个 "activity" 标签,为不同的 Activity 添加描述。如果我们已
经在程序码中定义好了 Activity ,却忘了在 "AndroidManifest.xml" 档桉中加入对应的 "activity"
标签,那麽在执行中呼叫到这个 Activity 的时候,将无法开启这个 Activity 。
"activity" 标签的 "android:name" 属性,指出了这个 Activity 所对应的类别 (class) 。
"activity" 标签中的 "android:label" 属性可用来指定应用程序将显示在 Activity 画面上方的名称。
也可以在程序码中透过 "setTitle(“ 名称 ”)" 来动态修改。
因为在上一 层 "Manifest" 标签属性中已经定义了 "package="com.demo.android.bmi"" ,因此在
"activity" 标签 的 "android:name" 属性中, ".Bmi" 代表着 "com.demo.android.bmi.Bmi" 的简写。
也可以写成 "Bmi" ,一样是 代表 "com.demo.android.bmi.Bmi" 这个类别。
代码 :
/intent-filter>
"intent- filter" 标签定义了这个 "activity" 的性质。 "intent-filter" 中主要包含了两个标签:
"action" 跟 "category" 标签。 "action" 标签中的 "android:name" 属性,其内容
"android.intent.action.MAIN" 表示:这个 Activity 是此应用程序的进入点(就像程序中常见的 main
主程序),开启这个应用程序时,应先执行这个 Activity 。。常见的还有
"android.intent.action.EDIT" 等标签,会在之后章节用上的时候讲解。 "category" 标 签中的
"android:name" 属性,其内容 "android.intent.category.LAUNCHER" 表示:这个 Activity 将显示在
Launcher 的应用程序列表中。
我们把整个档桉合到一起看,可以总结出这个档桉所传达的讯息: 在 "com.demo.android.bmi" 路径下
的 "Bmi.java" 这个档桉中,已定义了一个主要的 Activity; 当我们打开 Android 的时候,显示的是位
于 "res/drawable/icon" 的图示。一旦我们按下图示来启动这个应用程序, Android 应用程序框架会去
寻找到定义了 "android.intent.action.MAIN" 内容的 ".Bmi"activity ,并呼叫执行。
代码 :
Android SDK 1.1 版之后引入了这条叙述。透过指定这个参数,系统可以依此辨别应用程序是否使用相容
的 SDK 版本,好决定能否在这台机器上安装执行。 "1" 代表 Android SDK 1.0 , "2" 代表 SDK 1.1
, "3" 代表 SDK 1.5 。这也是一个可选填的选项。但如果我们的应用程序要发佈出去,一些强势的通路
如 Google Android Market 已规定所有新发佈的应用程序必须指定 "android:minSdkVersion" 这个参数
。
备注 1
除了 "application" 标签外,还有 "uses-permission"( 例如允不允许存取 SMS 、能否存取联络簿、相
机功能 ) 、 "permission" 、 "instrumentation" 等主要标签。相关的内容在后续章节用到时再一併解
说。
备注 2
除了 "activity" 标签外,对应于 Android 应用程序的运作流程,还有 "service" 、 "receiver" 、
"provider" 等主要元件。相关内容会在后续章节提到时作解说。
培训 尽在亚嵌