Android Manifest配置文件

5.1         Manifest配置文件概述

 

        1.  伴随每一个Android应用程序

        2.  定义了应用程序的名称、版本信息和应用程序所依赖的应用程序组件,以及应用程序所需要的许可权限和其他配置信息

        3.  功能:

                1)安装和升级应用程序包

                2)向用户显示应用程序细节

                3)指定应用程序的系统需求

                4)运行应用程序的Activity

                5)管理应用程序的许可权限

                6)配置其他高级应用程序参数,包括服务和广播或是内容提供器

                7)开启某些应用程序设置。

     5.2         application

application包括了Android应用程序的所有Activity、Service、Provider以及Receiver。每当创建上述一个的时候,都需要在application标签内进行声明。

<activity android:name=“net.xuqiang.app.TestActivity” android:label=“@string/test” ></activity>

代码片段5.2.1   activity声明

注意:android:name中的值也可以使用作用域来指定,例如,如果在package中声明了net.xuqiang.app,那么在android:name中可以声明为:.TestActivity。(注意前面的点)。

application指定默认的主入口,则需要intent-filter标记的声明:

<activity

           android:name=“net.xuqiang.app.MainActivity”

            android:label=“@string/app_name”>

            <intent-filter>

                <action android:name=“android.intent.action.MAIN” />

                <category android:name=“android.intent.category.LAUNCHER” />

            </intent-filter>

</activity>

代码片段5.2.2   设定该activity为默认程序入口

注意:必须声明Activity,如果你想要新建立一个活动页面,也就是说,你想要一个Activity正常运行,必须要在Manifest配置文件中注册activity标签。

对于其他的intent过滤器,它可以应用与Activity、Service和BroadcastReceiver。对于应用了intent的组件,则称该组件为开放的。可以接受任何发送至Android系统的、匹配规则的Intent。具体的信息后面会详细谈到,在此超出范围不做详谈。

     5.3         uses-permission

这个标签所表示的是应用程序的许可权限,譬如开发者所创建的应用程序需要联网的功能,则在该标签中需要欠佳联网的许可。

<uses-permission android:name=“android.permission.INTERNET”/>

代码片段5.3.1   联网许可权限

        注意:新建立Android工程的时候,默认没有任何的权限。一旦赋予应用程序权限,那么必须是显示的添加,而且,在用户安装的过程中,会被告知应用程序所需的所有权限。

        另:这些许可声明可以在android.Manifest.permission类中被找到

     5.4         uses-sdk

        指定SDK的版本,它存在三种属性。

        1.  minSdkVersion属性:最低可支持的APILevel

        2.  targetSdkVersion属性:最佳的APILevel

        3.  maxSdkVersion属性:最高可支持的APILevel

        注意:往往Android Market都是通过这个标签来删选应用程序提供给不同需要的用户。

        另:一般不指定maxSdkVersion,因为在指定它之后,可能会导致一系列的问题。

     5.5         uses-configuration

        用来指定应用程序所支持的输入方式。

        例如:如果需要触摸输入和笔输入均支持,可以如下配置。

<uses-configuration android:reqHardKeyboard=“true”android:reqTouchScreen=“finger”/>

<uses-configuration android:reqHardKeyboard=“true”android:reqTouchScreen=“stylus”/>

代码片段5.5.1   uses-configuration配置方式

     5.6         uses-feature

        指定需要的设备特性,因为并不是所有的设备都支持所有的Android功能。比如多点触控的问题。

        而该标签则可以用来指定应用程序正常运行所需的Android特性。一旦你的程序需要某些特性支持,则需要为每一种特性创建一个uses-feature标记。

        例如:

<uses-feature android:name=“android.hardware.sensor.light”/>

<uses-feature android:name=“android.hardware.sensor.proximity”/>

代码片段5.6.1   uses-feature标签配置使用

     5.7         supports-sreen

该标签用来指定应用程序适应的Android设备的屏幕大小。具体的之后会详细述说,因为应用程序还可以通过drwable的图标大小来更改显示。

标签