详细解读Android系统中的application标签

< application /> :应用的声明。
这个元素包含了子元素,这些子元素声明了应用的组件,元素的属性将会影响应用下的所有组件。很多属性为组件设置了默认值,有些属性设置了全局值并且不能被组件修改。
<application>的子节点描述了应用所包含的组件,它的属性会影响到它所有的子节点组件。icon/lable/permission 等 属性是给子节点组件设置一个默认值,可以被复写。而 debuggable/enabled 等 属性是作为整个application的全局属性,不能被复写。

<application> 

  <application android:allowClearUserData=["true" | "false"]
       android:allowTaskReparenting=["true" | "false"]
       android:backupAgent="string"
       android:debuggable=["true" | "false"]
       android:description="string resource"
       android:enabled=["true" | "false"]
       android:hasCode=["true" | "false"]
       android:icon="drawable resource"
       android:killAfterRestore=["true" | "false"]
       android:label="string resource"
       android:manageSpaceActivity="string"
       android:name="string"
       android:permission="string"
       android:persistent=["true" | "false"]
       android:process="string"
       android:restoreAnyVersion=["true" | "false"]
       android:taskAffinity="string"
       android:theme="resource or theme" >
    . . .
  </application>

包含在:<manifest>元素下。
可以包含:

<activity>
<activity-alias>
<service>
<receiver>
<provider>
<uses-library>

属性:
1、android:allowClearUserData
是否给以用户删除用户数据的权限,如果为true应用管理者就拥有清除数据的权限;false没有。默认为true。
2、android:allowTaskReparenting
应用定义的activities是否可以被从启动的任务转移到和他有相同并且将被带到前台的任务。true他们可以被转移,如果为false,
他们必须和启动他们的任务保持在一起。默认为false。
3、android:backupAgent
实现应用的备份代理的类名,BackupAgent的子类。这个属性的名称因该是全限定类名(如,"com.example.project.MyBackupAgent")。
但是,如果名称的首字母被设置为点号,也可以为类名(如,".MyBackupAgent"),他将被追加到在<manifest>元素中定义的包名后。
没有默认值。
4、android:debuggable
应用是否可以使用debug,甚至运行在用户模式下。true可以,false不能。默认为false。
5、android:description
用户可读的,比应用标签更长、更多的应用描述。此值必须是一个引用字符串。不像标签,他不能被设置为硬编码字符串。没有默认值。
6、android:enabled
Android系统是否可以实例化应用的组件。如果为true可以,如果为false不可以。如果为true时,每个组件的enabled属性决定了此组件
是否可用。如果为false,他重写了组件指定值,所有的组件将不还用。默认为true。
7、android:hasCode
应用是否包含代码。true表示包含,false表示不包含。当值为false时,在启动组件是系统不会试着加载应用的任何代码。默认为true。
8、android:icon
整个应用的图标,还是每个组件的默认图标。这个属性值必须被设置为drawable资源的引用。没有默认值。
9、android:killAfterRestore
在整型系统重置操作中,当他的设置被重置后,应用是否应该被终止。单个包的重置操作不会引起应用被关闭。整个系统的恢复操作仅代表
性的发生一次,当电话第一次被设置时。第三方应用将不会经常使用此属性。
默认值为true,意思是,当整个系统被恢复时,应用运行玩他的数据后,将会终止。
10、android:label
一个易读的应用标签,并且还是应用的每个组件的默认标签。这个标签应该被设置为引用字符串资源,当然他也可以像其他字符串一样在用户
接口中指定。但是为了方便,在应用开发时,可以被设置未定义字符串。
11、android:manageSpaceActivity
一个Activity子类的全限定名称,这个Activity可以被系统启动让用户管理此应用占有的存储空间。这个Activity也应该用<activity>元素声明。
12、android:name
为这个应用实现的Application子类的全限定名称。当应用启动时,这个类将在应用的其他组件之前被实例化。
这个子类是可选的;大多数应用不需要。在缺省时,Android使用基本Application类的实例。
13、android:permission
客户为了和应用交互必须设置的许可的名称。这个属性是一个便利的途径为应用的组件设置许可。他可以被组件的permission属性重写。
14、android:persistent
应用是否在所有时间下都保持运行。true是,false不是。默认为false。通常情况下应用不应该设置此标识。持久模式仅仅被几个系统应用指定。
15、android:process
为应用下的组件定一个运行进程名称。每个组件可以定义自己的进程名称通过设置自己的process属性。
在默认情况下,Android为应用创建一个进程,当应用的第一个组件需要运行时。所有的组件在同一个进程下运行。这个进程的名称和在<manifest>
元素设置的backage属性名相同。
通过设置这个属性在可以在其他应用中共享,你可以协调应用的组件在同一个进程中运行,但是只有两应用也共享用户ID和签订相同的证书。
如果这个属性的名称一个冒号(":")开始,一个新的私有的进程将被创建。如果一个进程的名称以小写字母开头,一个公共的进程将被创建。
一个公共的进程可以被其他应用共享,来减少资源的使用。
16、android:restoreAnyVersion
表明这个应用准备尝试恢复所有的备份数据集合,甚至如果备份数据是比当前安装的应用高的编号存储的。设置为true将允许备份管理者去尝试
恢复当版本不匹配,意思是数据冲突。要小心使用。默认为false。
17、android:taskAffinity
提供给应用下所有组件的类同名称,除了设置了自己的taskAffinity属性的组件。默认情况下所有的组件使用相同的affinity。Affinity的名称
和在<manifest>元素中设置的包名相同。
18、android:theme
为应用下的组件定义一个引用自样式资源的主题。个别的activities可以设置自己的主题,通过设置自己的theme属性。

(0)

相关推荐

  • Android application捕获崩溃异常怎么办

    Android application捕获崩溃异常怎么办? 通用 application 1.收集所有 avtivity 用于彻底退出应用 2.捕获崩溃异常,保存错误日志,并重启应用 public class HKBaseApplication extends Application { // activity对象列表,用于activity统一管理 private List<Activity> activityList; // 异常捕获 protected boolean isNeedCaug

  • Android Framework Application Framework层简单介绍

    引言 Android的四层架构相比大家都很清楚,老生常谈的说一下分别为:Linux2.6内核层,核心库层,应用框架层,应用层.我今天重点介绍一下应用框架层Framework,其实也是我自己的学习心得. Framework层为我们开发应用程序提供了非常多的API,我们通过调用特殊的API构造我们的APP,满足我们业务上的需求.写APP的人都知道,学习Android开发的第一步就是去学习各种各样的API,什么Activity,Service,Notification等.这些都是framework提供

  • Android编程之Application设置全局变量及传值用法实例分析

    本文实例讲述了Android编程之Application设置全局变量及传值用法.分享给大家供大家参考,具体如下: /** * 重写Application,主要重写里面的onCreate方法,就是创建的时候, * 我们让它初始化一些值,前段时间在javaeye里面看到过一个例子,与此相似, * 我做了些改进.听说外国开发者习惯用此初始化一些全局变量,好像在Activity * 一些类里面初始化全局变量的化,会遇到一些空指针的异常,当然,我没有遇到过. * 如果用此方法初始化的话,那么就可以避免那些

  • Android开发 -- setTag的妙用和The key must be an application-specific resource id 异常

    tag是view的一个属性,也可以说是view用于存放参数的一个map,对于提高性能和参数传递都有妙用,比如提高listview的性能: 用于缓存item的view 复制代码 代码如下: public View getView(final int position, View convertView, ViewGroup parent) {      ItemViewHolder holder; if (convertView == null) {          holder = new I

  • Android Application类的详细介绍

    Android Application类详解: Android中Application类的详细解释: 我们在平时的开发中,有时候可能会需要一些全局数据,来让应用中的所有Activity和View都能访问到,大家在遇到这种情况时,可能首先会想到自己定义一个类,然后创建很多静态成员. 但是这种方法不符合Android的框架架构,不过andorid已经为我们提供了这种情况的解决方案:在Android中,有一个名为Application的类,我们可以在Activity中使用getApplication(

  • Android package属性、package name和Application ID三者的联系及区别

    Android package属性.package name和Application ID三者的联系及区别 package属性:在AndroidManifest.xml文件中. package name:应用程序的包名. Application ID:模块defaultConfig块下的applicationId属性. 设置Application ID 每个Android应用程序都有唯一一个类似Java包名的Application ID,比如com.example.myapp.在Android设

  • Android学习笔记--通过Application传递数据代码示例

    在整个Android程序中,有时需要保存某些全局的数据(如:用户信息),方便在程序的任何地方调用.在Activity之间数据传递中有一种比较使用的方式,就是全局对象,使用过J2EE的都应该知道JavaWeb的四个作用域,其中Application域在应用程序的任何地方都可以使用和访问,除非是Web服务器停止,Android中的全局对象非常类似于JavaWeb中的Application域,除非是Android应用程序清除内存,否则全局对象将一直可以访问. 在启动Application时,系统会创建

  • Android 退出多Activity的application的方式方法

    在开发过程中,我们常常需要一个退出功能,来退出该应用的所有Activity.下面,我们列举一些退出应用的几种方式. 1.利用ActivityContainer来管理所有的Activity的引用 2.使用广播通知BaseActivity结束 3.直接杀死进程 4.采用SingleTask的特点,结束应用 5.第四种方式的更优雅实现 6.双击返回键退出 方式一:利用ActivityContainer管理所有的Activity引用 该方式是建立一个通用的Activity的父类 BaseActivity

  • Android开发中避免应用无响应的方法(Application Not Responding、ANR)

    App里发生的最糟糕的事是弹出应用无响应"Application Not Responding" (ANR) 对话框.本课讲的是如何保持应用响应,避免ANR. 什么触发ANR 通常,系统会在应用无法对用户输入响应时显示ANR.比如,如果一个应用在I/O操作上阻塞了(频繁请求网络)UI线程,系统无法处理用户输入事件.或者,在UI线程中,app花了大量时间在构建复杂的类,或在游戏中计算下一个动作.保证这些操作高效是很重要的,但最高效的代码也需要花费时间. 在任何情况下,都不要在UI线程执行

  • Android获取应用程序名称(ApplicationName)示例

    MainActivity如下: 复制代码 代码如下: package cn.testapplicationname; import android.os.Bundle; import android.widget.TextView; import android.app.Activity; import android.content.pm.ApplicationInfo; import android.content.pm.PackageManager; /** * Demo描述: * 获取应

随机推荐