英语原文共 10 页,剩余内容已隐藏,支付完成后下载完整资料
应用程序清单
每个应用程序的根目录中必须有一个AndroidManifest.xml文件(或是具有该名称)。清单文件向安卓系统提供有关应用程序的重要信息,这些信息是系统在运行任何应用程序的代码之前必须拥有的。
除此之外,清单文件执行以下操作:
1. 它为应用程序命名Java包。 包名称作为应用程序的唯一标识符。
2. 它描述了应用程序的组件,其中包括组成应用程序的活动,服务,广播接收器和内容提供者。它还命名实现每个组件并发布其功能的类,例如它们可以处理的意图消息。 这些声明通知安卓系统组件以及它们可以启动的条件。
3. 它确定承载应用程序组件的进程。
4. 它声明了应用程序必须具有访问API的受保护部分并与其他应用程序交互的权限。 它还声明了其他人为了与应用程序组件进行交互而需要拥有的权限。
5. 它列出了在应用程序运行时提供分析和其他信息的Instrumentation类。 这些声明仅在应用程序开发过程中出现在清单中,并在应用程序发布之前被删除。
6. 它声明了应用程序需要的Android API的最低级别。
7. 它列出了应用程序必须链接的库。
注意:在准备安卓应用程序在Chromebook上运行时,应该考虑一些重要的硬件和软件的功能限制。有关更多信息,请参阅应用程序清单兼容性Chromebook文档。
清单文件结构
以下显示了清单文件的一般结构以及它可以包含的每个元素。每个元素及其所有属性全部记录在一个单独的文件中。
lt;actiongt;
描述:
将动作添加到意图过滤器。 一个意图过滤器元素必须包含一个或多个动作元素。 如果动作元素不包含任何内容,则不会有意图对象通过该过滤器。
属性:
android:name
行动的名称。一些标准操作在意图类中定义为ACTION_string常量。要将这些操作分配给该属性,需要添加“android.intent.action” 到ACTION_后面的字符串。例如,对于ACTION_MAIN,使用“android.intent.action.MAIN”,对于ACTION_WEB_SEARCH,则需使用“android.intent.action.WEB_SEARCH”。
lt;uses-permissiongt;
描述:
申请授予应用程序的权限。当应用程序安装(在运行Android 5.1及更低版本的设备上)或应用程序运行时(在运行Android 6.0和更高版本的设备上),权限由用户授予。
有关权限的更多信息,请参阅介绍中的“权限”部分和单独的“系统权限API”指南。在android.Manifest.permission中可以找到基本平台定义的权限列表。
属性:
android:name
权限的名称。它可以是应用程序使用lt;permissiongt;元素定义的权限,也可以是另一个应用程序定义的权限或标准系统权限之一(具体的例子有“android.permission.CAMERA”或“android.permission.READ_CONTACTS”)。权限名称通常包括作为前缀的包名称。
android:maxSdkVersion
此权限应授予应用的最高API级别。如果从某个API级别开始不再需要应用程序所需的权限,则设置此属性非常有用。
例如,从安卓4.4(API级别19)开始,应用程序不再需要在您的应用程序要写入其在外部存储上的特定于应用程序的目录(由getExternalFilesDir()提供的目录)时请求WRITE_EXTERNAL_STORAGE权限。 但是,API级别18及更低版本需要该权限。
lt;uses-permission-sdk-23gt;
描述:
指定应用程序需要特定权限,但仅限于应用程序在API级别为23或更高的设备上运行。 如果设备运行的API级别为22或更低,则该应用程序没有指定的权限。
此部分用于当您更新应用程序以包含需要额外权限的新功能的时候。如果用户更新运行API级别为22或更低的设备上的应用程序,系统会在安装时提示用户授予在该更新中声明的所有新权限。如果新功能足够小,你可能更愿意在这些设备上完全禁用这些功能,因此用户无需授予更新应用程序的额外权限。通过使用lt;uses-permission-sdk-23gt;而不是lt; uses-permission gt;,只有当应用程序在支持运行时权限模型的平台上运行时,您才可以请求权限,其中用户将权限授予正在运行的应用程序。
属性:
android:name
权限的名称。此权限可以由应用程序使用lt;permissiongt;元素定义,它可以是由另一个应用程序定义的权限,也可以是标准系统权限之一,例如“android.permission.CAMERA”或“android.permission.READ_CONTACTS”。
android:maxSdkVersion
此权限应授予您的应用的最高API级别。 如果应用程序安装在具有更高API级别的设备上,则应用程序未被授予权限,并且不能使用任何相关功能。
lt;uses-librarygt;
描述:
指定应用程序必须链接的共享库。这个部分通知系统在程序包的类加载器中包含库的代码。
所有的android软件包(如android.app,android.content,android.view和android.widget)都在默认的库中,所有的应用程序都会自动链接到它们。但是某些软件包(如地图)位于不是自动链接的单独库中。 请参阅您正在使用的软件包的文档以确定哪个库包含软件包代码。
此元素还会影响特定设备上应用程序的安装以及Google Play上应用程序的可用性:
安装:
如果此元素存在且其android:required属性设置为true,则PackageManager框架不会让用户安装应用程序,除非该库存在于用户设备上。
属性:
android:name
库的名称。 名称由您正在使用的软件包的文档提供。 一个例子是“android.test.runner”,一个包含Android测试类的包。
android:required
指示应用程序是否需要由android:name指库的布尔值:
“true”:没有这个库,应用程序不能运行。系统将不允许应用程序在没有库的设备上。
“false”:应用程序可以使用该库,但设计为在没有它的情况下运行。系统就算库不存在也将允许安装应用程序。如果使用“false”,则负责在运行时检查库是否可用。
lt;activitygt;
描述:
声明一个活动(一个Activity子类),它实现了应用程序的可视化用户界面的一部分。 所有活动必须由清单文件中的lt;activitygt;元素表示。任何未声明的内容都不会被系统看到,并且永远不会运行。
属性:
android:allowEmbedded
表明该活动可以作为其他活动的嵌入子进程启动。特别是在子类其他活动中拥有的显示器等容器中的情况下。例如,用于Wear自定义通知的活动必须声明这一点,以便Wear可以在驻留在另一个进程中的上下文流中显示活动。
此属性的默认值为false。
android:alwaysRetainTaskState
系统是否始终维护任务的状态-如果是,则为“true”;如果允许系统在某些情况下将任务重置为初始状态,则为“false”。 默认值是“false”。该属性仅对任务的根活动有意义; 所有其他活动都被忽略。
通常,当用户从主屏幕重新选择该任务时,系统会在某些情况下清除任务(从根目录活动上的堆栈中删除所有活动)。通常,如果用户在一定时间内未访问任务(例如30分钟),则会执行此操作。
但是,如果此属性为“true”,则用户将始终返回处于其最后状态的任务,无论他们如何到达该状态。例如,在诸如网页浏览器这样的应用程序中,用户不想失去很多状态(如多个打开的制表符),这非常有用。
android:autoRemoveFromRecents
无论该活动是否具有此属性,这个活动都将保留在总览屏幕中,直到任务的最后一项活动完成。如果该值为true,则会从总览屏幕中自动删除该任务。这将覆盖调用者对FLAG_ACTIVITY_RETAIN_IN_RECENTS的使用。它必须是一个布尔值,只能是“true”或“false”。
android:banner
可绘制的资源为其关联的项目提供扩展图形横幅。与lt;activitygt;标签一起使用可为特定活动提供默认标语,或者使用lt;applicationgt;标签为所有应用程序活动提供标语。
系统使用横幅来表示Android TV主屏幕中的应用程序。由于横幅仅显示在主屏幕中,因此仅由具有处理CATEGORY_LEANBACK_LAUNCHER意图的活动的应用程序指定。
该属性必须设置为对包含图像的可绘制资源的引用(例如“@ drawable / banner”)。 没有默认横幅。
请参阅用户界面模式中的横幅以获取更多信息。
android:clearTaskOnLaunch
无论如何除了根活动之外,只要这些活动在主界面上重新打开,那么所有的活动都会从任务中移除。如果任务被分配为根活动,则为“真”,否则为“假”。默认值是“false”。该属性仅对开始新任务的活动(根活动)有意义; 它在任务中的所有其他活动都被忽略。
当值为“true”时,每次用户再次启动任务时,无论他们上一次在任务中执行什么操作,并且无论他们是使用“返回”还是“主页”按钮离开它,都会将其引导至其根目录。 当值为“false”时,可能会在某些情况下清除任务中的活动(请参阅alwaysRetainTaskState属性),但并非总是如此。
例如,假设某人从主屏幕启动了活动P,然后从那里进入活动Q。用户接下来按Home,然后返回到活动P。通常,用户会看到活动Q,因为这就是他们最后是在P的任务中做的。 但是,如果P将此标志设置为“true”,则当用户按下Home并且任务转到后台时,其上的所有活动(本例中为Q)都会被删除。所以用户在返回任务时只能看到P。
如果此属性和allowTaskReparenting的参数都为“true”,则任何可重新生成的活动都将移动到与它们共享亲缘关系的任务,如上所述,剩余的活动将被丢弃。
android:configChanges
列出配置将对活动将要自行处理的情况发生改变。当运行时发生配置更改时,该活动默认关闭并重新启动,但使用此属性声明配置将会阻止活动重新启动。相反,该活动仍在运行,并调用onConfigurationChanged()方法。
注意:应该避免使用这个属性,并且只能用作最后的手段。
android:documentLaunchMode
指定每次启动时应如何将任务的新实例添加到任务中。此属性允许用户在总览屏幕中显示来自同一应用程序的多个文档。
注意:对于“none”和“never”以外的值,必须使用launchMode =“standard”来定义活动。如果未指定此属性,则使用documentLaunchMode =“none”。
android:enabled
是否可以通过系统进行实例化-如果可以,则为“真”,否则为“假”。 默认值是true。
lt;applicationgt;元素具有适用于所有应用程序组件(包括活动)的启用属性。系统的lt;applicationgt;和lt;activitygt;属性必须都是“true”(因为它们都是默认的)才能够实例化活动。如果其中任一个是“假”,则不能实例化。
android:excludeFromRecents
是否应将此活动启动的任务从最近使用的应用程序列表中排除,即总览屏幕。也就是说,当此活动是新任务的根活动时,此属性确定该任务是否不应该出现在最近的应用程序列表中。 如果任务应该从列表中排除,则设置“true”; 如果应该包含它,则设置“false”。 默认值是“false”。
android:exported
该活动是否可以由其他应用程序的组件发起-如果可以,则为“真”,否则为“假”。如果为“false”,则该活动只能由相同应用程序的组件或具有相同用户标识
全文共7629字,剩余内容已隐藏,支付完成后下载完整资料
资料编号:[15562],资料为PDF文档或Word文档,PDF文档可免费转换为Word
以上是毕业论文外文翻译,课题毕业论文、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。