. . . . . . . . .
只有<manifest>和<application>元素是必须的,而且只能出现一次。
元素不能包含自己,所有的值都必须通过属性设置,而不是元素中的字符。
除了<manifest>根元素的某些属性,其他所有的属性都以 android:为前缀——例如,android:alwaysRetainTaskState。
因为前缀是通用的,所以当引用属性的名字的时候本文档会自动将其忽略。如果定义一个子类,比如用户通常会定义的组件子类(Activity,Service,BroadcastReceiver,ContentProvider),通常由name属性声明。
这个名字必须包括完整的包名。但是,作为简写,如果字符串的第一个字符为一个点,那么字符串将会被添加到应用程序的包名(由manifest的package属性指定)之后. . . . . .
效果同上 . . . . . .
某些属性的值可以展示给用户看——例如,活动的标签和图标。这些属性的值应该本地化,因此可以从一个资源或主题中获取。
资源值通常按以下格式表示, @[package:]type:name其中,如果资源跟应用程序在同一个包中,那么包名可以省略。type是资源的类型——例如“string”或者“drawable”——name是识别具体资源的标识。例如:从主题中获取的值可以用类似的方法表示,只不过首字符使用?
而不是@
:
?[package:]type:name
当属性值是一个字符串的时候,需要使用双反斜杠('\\
')来转义字符——例如'\\n
'代表换行,或者'\\uxxxx
'代表Unicode字符。
任何情况下,在容器元素中设定的图标和标签,将会成为其子元素的默认图标和标签。因此,在application元素中设定的图标和标签,将会是应用程序中每个组件的默认设置。类似的,组件的图标和标签——例如,activity元素——将会是该组件的每一个intent-filter元素的默认设置。如果application元素设置了一个标签,但是activity和intent过滤器没有设置,那么应用程序标签将同时适用于activity和intent过滤器。
不管组件何时展现给用户,intent过滤器设置的图标和标签都代表实现该过滤器功能的组件。 例如,设置了“android.intent.action.MAIN”和“android.intent.category.LAUNCHER”的过滤器代表了由这个activity来启动应用程序——也就是说,应用程序启动的时候,这个activity最先显示。因此,启动画面显示的图标和标签就是过滤器中设置的图标和标签。
如果应用程序需要访问有权限保护的特性,必须在manifest中用<uses-permission>元素声明该应用程序需要使用该权限。
或者应用程序也可以定义自己的权限。新的权限通过<permission>元素声明。例如,可以按照以下方法保护activity:
. . . . . .
注意,在这个例子中,DEBIT_ACCT权限不仅使用<permission>元素声明,同时也需要使用<uses-permission>声明。应用程序的其他组件想要运行被保护的activity的时候,就需要使用该权限,即使该activity是被应用程序本身保护的。
还是这个例子,如果permission属性已经在其他地方声明过了(比如android.permission.CALL_EMERGENCY_NUMBERS中),那么就无需再用<permission>元素声明了,但是<uses-permission>元素的声明还是需要的。
每一个应用程序都会连接到android的默认库,这个库中包含了编译应用程序需要的基础包(包中含有常用的类,如Activity, Service, Intent, View, Button, Application, ContentProvider等)。
但是,有些包有自己的库。如果应用程序要使用这些包中的代码,就必须显式地链接这些包的库。在manifest文件中必须包含独立的<uses-library>元素,将需要的库全部列举出来
安装位置
AndroidManifest.xml 文件的根元素。 必须包含 <application> 元素且设定 xmlns:android 和 package 属性。
安装位置:
. . .
对应用程序的声明。
. . .
所有的Activity需要在manifest文件里通过<acctivity>声明,否则不可以被显示也不会运行。
启动模式:
样式与主题:
权限:
Action Bar:
..
声明了其父组件的功能 — Activity 或 Service 可完成的功能以及 Receiver 可处理的广播类型。
必须包含一个或多个 <action>
元素。 如果其中没有包含任何 <action>
元素,则过滤器不会收到任何 Intent 对象。
以“android.intent.action.
”作为前缀,加在 ACTION_
后的 string
前面。 例如,对于 ACTION_MAIN
而言,用“android.intent.action.MAIN
”
对于自定义的 Action ,最好用包名作前缀,以确保唯一性。
action:
catelory:
data: