4.1 Android Studio中的AndroidManifest.xml文件分析

WillFlow

联系方式:

简书:WillFlow
CSDN:WillFlow
微信公众号:WillFlow

一、关于AndroidManifest.xml

AndroidManifest.xml清单文件是每个Android程序中必须的文件,它是整个Android程序的全局描述文件,除了能声明程序中的Activities,Content Providers,Services,和Intent Receivers,还能指定应用的名称、使用的图标、包含的组件以及permissions和instrumentation(安全控制和测试)。

我们这里给出之前Hello World工程中的清单文件源代码并加以分析,然后给出通用的清单文件结构以及各个节点的详细介绍,便于日后查阅。(持续更新中…)

二、Hello World工程中的清单文件分析

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.wgh.helloworld">

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <activity android:name=".MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>

各节点解释(顺序从上到下):

  • xmlns:android:定义android命名空间,这样使得Android中各种标准属性能在文件中使用,提供了大部分元素中的数据。
  • package:指定本应用内java主程序包的包名,它也是一个应用进程的默认名称。
  • application:一个AndroidManifest.xml中必须含有一个Application标签,这个标签声明了每一个应用程序的组件及其属性(如icon、label、permission等)。
  • allowBackup:当allowBackup标志为true时,用户即可通过adb backup和adb restore来进行对应用数据的备份和恢复,这可能会带来一定的安全风险。
  • icon:这个很简单,就是声明整个APP的图标,图片一般都放在drawable文件夹下。
  • label:声明整个APP的名字,字符串常量一般都放在values文件夹下的strings.xml里。
  • supportsRtl:支持从右往左显示的布局(正常布局在镜子里面看到的左右对调过的样子)。
  • theme:是一个资源的风格,它定义了一个默认的主题风格给所有的activity,当然也可以在自己的theme里面去设置它,有点类似style。
  • activity:定义APP中的一个组件Activity。
  • name:该Activity的名字。
  • intent-filter:广播过滤器,后续会讲到。

三、通用的清单文件结构以及各个节点的详细介绍

通用清单文件结构:

<?xmlversion="1.0"encoding="utf-8"?>

<manifest>

    <application>

        <activity>

           <intent-filter>

            <action/>

            <category/>

           </intent-filter>

        </activity>

        <activity-alias>

            <intent-filter></intent-filter>

            <meta-data/>

        </activity-alias>

        <service>

            <intent-filter></intent-filter>

            <meta-data/>

        </service>

        <receiver>

            <intent-filter></intent-filter>

            <meta-data/>

        </receiver>

        <provider>

            <grant-uri-permission/>

            <meta-data/>

        </provider>

        <uses-library/>

    </application>

    <uses-permission/>

    <permission/>

    <permission-tree/>

    
  • 7
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值