标签的语法范例。

android:alwaysRetainTaskState=['true' | 'false']

android:clearTaskOnLaunch=['true' | 'false']

android:configChanges=['mcc', 'mnc', 'locale',

'touchscreen', 'keyboard', 'keyboardHidden',

'navigation', 'orientation', 'screenLayout',

'fontScale', 'uiMode']

android:enabled=['true' | 'false']

android:excludeFromRecents=['true' | 'false']

android:exported=['true' | 'false']

android:finishOnTaskLaunch=['true' | 'false']

android:hardwareAccelerated=['true' | 'false']

android:icon='drawable resource'

android:label='string resource'

android:launchMode=['multiple' | 'singleTop' | 'singleTask' | 'singleInstance']

android:multiprocess=['true' | 'false']

android:name='string'

android:noHistory=['true' | 'false']

android:permission='string'

android:process='string'

android:screenOrientation=['unspecified' | 'user' | 'behind' |

'landscape' | 'portrait' |

'sensor' | 'nosensor']

android:stateNotNeeded=['true' | 'false']

android:taskAffinity='string'

android:theme='resource or theme'

android:windowSoftInputMode=['stateUnspecified',

'stateUnchanged', 'stateHidden',

'stateAlwaysHidden', 'stateVisible',

'stateAlwaysVisible', 'adjustUnspecified',

'adjustResize', 'adjustPan'] >

... ...

Activity组件别名的声明标签,简单来说就是Activity的快捷方式,属性android:targetActivity表示的就是其相关的Activity名,当然必须是前面已经声明过的Activity。除此之外,其他比较常见的属性有:Activity别名名称android:name,别名开关android:enabled,权限控制android:permission等。另外,我们还需要注意的是,Activity别名也是一个独立的Activity,可以拥有自己的和元素,其语法范例如下。

android:exported=['true' | 'false']

android:icon='drawable resource'

android:label='string resource'

android:name='string'

android:permission='string'

android:targetActivity='string' >

... ...

与、、

用于Intent消息过滤器的声明,在前面的2.1.3.2节中我们已经对Android应用框架中的Intent消息作过比较详细的介绍,我们了解到Intent消息对于Android应用系统来说,是非常重要的“粘合剂”,元素可以放在、、和元素标签中,来区分可用于处理消息的Activity控制器、Service服务和广播接收器Broadcast Receiver。另外,我们还知道Intent消息还包含有名称、动作、数据、类别等几个重要属性。这点与该标签的写法也有一定的关系,比如中必须包含有元素,即用于描述具体消息的名称;标签则用于表示能处理消息组件的类别,即该Action所符合的类别;而元素则用于描述消息需要处理的数据格式,我们甚至还可以使用正则表达式来限定数据来源。当然,这些元素和标签的具体用法我们还需要慢慢学习,下面是标准元素标签的语法范例。

android:label='string resource'

android:priority='integer' >

android:mimeType='string'

android:path='string'

android:pathPattern='string'

android:pathPrefix='string'

android:port='string'

android:scheme='string' />

用于存储预定义数据,和类似,也可以放在、、和这四个元素标签中。Meta数据一般会以键值对的形式出现,个数没有限制,而这些数据都将被放到一个Bundle对象中,程序中我们则可以使用ActivityInfo、ServiceInfo甚至ApplicationInfo对象的metaData属性中读取。假设我们在一个Activity中定义了一个元素,相关示例用法如下。

ActivityInfo info = this.getPackageManager()

.getActivityInfo(getComponentName(), PackageManager.GET_META_DATA);

String testData = info.metaData.getString('testData');

System.out.println('testData:' + testData);

Service服务组件的声明标签,用于定义与描述一个具体的Android服务,主要属性有:Service服务类名android:name,服务图标android:icon,服务描述android:label以及服务开关android:enabled等。关于Service服务组件的概念和用法请参考2.1.4.2节的内容,以下是标签的语法范例。

android:exported=['true' | 'false']

android:icon='drawable resource'

android:label='string resource'

android:name='string'

android:permission='string'

android:process='string' >

... ...

Boardcast Receiver广播接收器组件的声明标签,用于定义与描述一个具体的Android广播接收器,其主要属性和标签有些类似:Boardcast Receiver接收器类名android:name,接收器图标android:icon,接收器描述android:label以及接收器开关android:enabled等。关于Boardcast Receiver广播接收器组件的概念和用法请参考2.1.4.3节的内容,以下是标签的语法范例。

android:exported=['true' | 'false']

android:icon='drawable resource'

android:label='string resource'

android:name='string'

android:permission='string'

android:process='string' >

... ...

除Activity、Service和Boardcast Receiver之外的另一个“四大组件”,也就是Content Provider内容提供者的声明标签。关于内容提供者组件的概念和用法请参考2.1.4.4节的内容,不再赘述。标签除了和其他组件相同的android:name、android:icon和android:label等基础属性之外,还提供了用于支持其功能的特殊属性,如:内容提供者标识名称android:authorities,对指定URI授予权限标识android:grantUriPermission以及具体的读、写权限,即android:readPermission和android:writePermission等。当然,这些属性的具体用法我们还需要慢慢学习,以下是标签的语法范例。

android:enabled=['true' | 'false']

android:exported=['true' | 'false']

android:grantUriPermissions=['true' | 'false']

android:icon='drawable resource'

android:initOrder='integer'

android:label='string resource'

android:multiprocess=['true' | 'false']

android:name='string'

android:permission='string'

android:process='string'

android:readPermission='string'

android:syncable=['true' | 'false']

android:writePermission='string' >

... ...

xml 和android脚本之家,AndroidManifest.xml配置文件解析_Android_脚本之家相关推荐

  1. android package.xml,Android自动化编译设置AndroidManifest.xml中package值(包名)

    手动修改Android的AndroidManifest.xml中package值(包名)很简单,手动修改即可.但是项目中需要把Android的项目源代码放到服务器端在客户下载时候动态编译生成,且生成的 ...

  2. Android学习笔记之AndroidManifest.xml文件解析(摘自皮狼的博客)

    Android学习笔记之AndroidManifest.xml文件解析 一.关于AndroidManifest.xml AndroidManifest.xml 是每个android程序中必须的文件.它 ...

  3. Flutter开发:运行项目时提示Error parsing LocalFile:‘/Users/xxx/android/app/src/main/AndroidManifest.xml’…解决方法

    前言 在Flutter开发初期的时候,会遇到各种各样的问题,这个时候对于刚接触Flutter开发的开发者来说是有点费事费力的,所以在Flutter开发初期要多积累,多查阅,多踩坑,这样才能快速上手开发 ...

  4. Android学习笔记之AndroidManifest.xml文件解析

    为什么80%的码农都做不了架构师?>>>    一.关于AndroidManifest.xml AndroidManifest.xml 是每个android程序中必须的文件.它位于整 ...

  5. Android学习笔记之AndroidManifest.xml文件解析(学习别人的..非原创)

    AndroidManifest.xml是每个android程序中必须的文件.它位于application的根目录,描述了package中的全局数据,包括了package中暴露的组件(activitie ...

  6. Android项目结构和AndroidManifest.xml

    创建项目 在开发一款Android应用的时候,第一步我们需要在Android的IDE开发工具中去创建一个项目.接下来会对创建项目和项目结构中各个步骤,路径功能做个梳理和讲解. Application ...

  7. android 屏幕上下反转,AndroidManifest.xml 屏幕上下反转

    通常我们的应用只会设计成横屏或者竖屏,锁定横屏或竖屏的方法是在AndroidManifest.xml 文件中设定属性android:screenOrientation为"landscape& ...

  8. eclipse新建Android项目时提示AndroidManifest.xml file missing!

    最近在家做一个小的项目时发现刚新建了一个项目还没2秒钟控制台就输出AndroidManifest.xml file missing! 是么R文件统统没有.原来是项目名称不能带中文,用英文的就OK了.

  9. ERROR: Android Source Generator: [project] AndroidManifest.xml file not found

    you must open Project Structure modified something. example: Project Structure > Facets ,you can ...

最新文章

  1. LeetCode 1:Two Sum
  2. 松下SW-9585-C全功能DVD刻录机 狂降100+享受专业刻录!
  3. Redis系列(四)-低成本高可用方案设计
  4. 修改Maven源为阿里巴巴的镜像
  5. Gym 101982 (2018-2019 ACM-ICPC Pacific Northwest Regional Contest (Div. 1) )
  6. 算法【二分查找】(数组)
  7. .NET Core + Kubernetes:Volume
  8. 计算机名生成,如何让输出的文本名字自动生成计算机名字?
  9. php 递归实现无限极分类和排序_无限极分类的两种方式,递归和引用
  10. 提高Axure设计效率的10条建议 (转)
  11. Python基础知识(四)--函数
  12. 《上古天真论》第六讲文字版
  13. Windows API函数大全(精心总结)
  14. 最新版esight安装(sql_server安装+esight超级详细)
  15. 浏览器UserAgent的趣味史
  16. 专为程序员编写的英语学习指南
  17. 谷歌退出中国谁对谁错
  18. 有了创意和灵感,怎样用科技让它们跃然纸上?
  19. elasticsearch2.4.1+kibana4.6.1+mavel2.4.1
  20. 第三章 产品数据 第3节 物料清单BOM

热门文章

  1. Java多线程之集合类(线程安全和不安全)
  2. Vallog可以识别的错误及错误提示
  3. elasticsearch 启动、停止及更改密码
  4. ST新一代烧写工具 STM32CubeProgrammer
  5. RxJava 2.0的基本使用
  6. 我又来说Git了, Git 与 SVN 大对比!
  7. Spark _26_Spark On Hive的配置
  8. Spark _13_topN
  9. Scala _09样例类(case classes)隐式转换
  10. springboot环境搭建及入门必知