Chinaunix首页 | 论坛 | 博客
  • 博客访问: 409344
  • 博文数量: 47
  • 博客积分: 1488
  • 博客等级: 上尉
  • 技术积分: 729
  • 用 户 组: 普通用户
  • 注册时间: 2010-08-15 11:35
文章分类

全部博文(47)

文章存档

2012年(4)

2011年(22)

2010年(21)

分类: 嵌入式

2012-01-29 22:55:11

每一个应用在根目录下都有一个 AndroidManifest.xml文件,该文件描述了应用的基本信息, 主要包括以下内容:
   命名应用的Java包名, 作为应用的唯一标识
   描述应用的组件——Activities, Services, Receivers 和 Providers, 声明它们的能力
   声明组件运行在哪个进程中
   声明应用需要的许可权限
   声明应用需要的 Android API 级别
   声明应用需要的库
   列出必要的 Instrumentation 类, 用于对应用进行运行时分析, 这些声明仅在开发和测试时使用,发布时要移除

1. Manifest 文件结构


   
   
   
   
   
   
     
     
     
     
     

   

       
           
               
               
               
           
           
       

       
            . . .
           
       

       
            . . .
           
       

       
            . . .
           
       

       
           
           
       

       

   


Manifest 文件中只能出现以上元素, 开发者不能添加自定义的元素和属性。
该文件的书写有一定惯例和规则:
(1) 元素
只有 元素是必需的, 它们在文件中必须都出现,且只出现一次;其它元素都不是必需的, 而且可以出现多次。
元素包含的东西都是通过属性进行设置的,而不是元素内容; 同一层次的元素没有顺序关系, 可以随意安排, 唯一的例外是 元素必须紧跟在相应的 后。
(2) 属性
一般来讲, 所有的属性都是可选的, 但是为了达到某种目的, 有些属性必须设置, 具体参考本文档;对于真正可选属性, 会给出缺省值, 并说明缺省行为。
除了 元素外, 所有的属性名都以 android: 为前缀, 例如 android:alwaysRetainTaskState.
(3) 声明类名
很多元素都对应 Java 对象, 包括应用 以及应用的主要组件—— 。 如果定义了这些组件的子类, 就要通过 name 属性声明, 声明时必须指名包的全限定名称。
例如, Service 的子类 SecretService 可能声明如下:
   
       
            . . .
       
        . . .
   

也可以是
   
       
            . . .
       
        . . .
   

(4) 多值
如果需要指定多个值, 通常是重复声明多个元素, 而不是在一个元素里列出所有值, 例如:
   
   
   
    . . .
(5) 资源值
有些属性的值是要显示给用户的, 例如Activity的标签和图标, 这些属性值应该进行本地化处理, 因此应该从资源或者主题中设置, 资源值以如下格式表示:
@[package:]type:name
如果资源与应用在同一个包则package可省略;type是资源类型,如string,drawable;name是资源标识名(id)。 如:
如果值来自主题, 则格式如下:
?[package:]type:name
(6) 字符串值
\\用于转义字符, 如 \\n, 表示换行
阅读(2982) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~