首页 > 代码库 > 学习Android之-----------------------AndroidManifest.xml

学习Android之-----------------------AndroidManifest.xml


学习Android之-----------------------AndroidManifest.xml


    在Android中,有一个文件叫AndroidManifest.xml ,该文件是Android项目开发的全局配置文件,


以.xml结尾。熟悉java web开发的朋友可能都知道,在Web工程中,也有一个全局的配置文件,叫web.xml。


当然AndroidManifest.xml 与 web.xml 是类似的,我们都可以在文件中配置有关项目的相关配置(如初始


化变量设置,Android Activity配置,servlet配置等等)。


    总的来说,开发Android应用所有需要配置的都需要在 AndroidManifest.xml 文件中进行配置,常见的


有:应用程序包名、版本号、组件、权限信息等。



一、AndroidManifest.xml 文件结构


举个例子:


//指明xml文件的版本以及字符编码
<?xml version="1.0" encoding="utf-8"?>

//AndroidManifest.xml 文件以标签<manifest></manifest>为根节点
<manifest 
    //指明Android的相关命名空间,一般都是http://schemas.android.com/apk/res/android,这样使    //得Android中各种标准属性能在文件中使用,提供了大部分元素中的数据
    xmlns:android="
    //定义java主应用程序的包名 ,它也是一个应用进程的默认名称
    package="com.example.administrator.myapplication">
    //权限设置,允许用户读取和写入联系人信息
    <uses-permission android:name="android.permission.READ_CONTACTS" />
    <uses-permission android:name="android.permission.WRITE_CONTACTS" />

//一个AndroidManifest.xml中必须含有一个Application标签,这个标签声明了每一个应用程序的组件//及其属性(如icon,label,permission等)
    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">

        //Android Activity的定义
        <activity android:name=".ContactProvider">
        //过滤器的定义,类似于java web中的filter
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

    </application>

</manifest>


二、AndroidManifest.xml 在Android Studio 中的位置


技术分享



三、AndroidManifest.xml 常用标签解读



1、分类


        全局标签(包名及版本信息)、组件标签(四大组件)、权限标签(申请及定义权限)


2、全局标签


package="com.example.administrator.myapplication" //定义项目主函数包名,类似于java应用程序main方法
android:revisionCode="1"   //定义该Android应用的版本号
android:versionName="@string/hello" //定义该Android应用的版本名称

以上三个属性位于根标签<manifest >中以属性的形式给出。

技术分享

<uses-sdk
    android:minSdkVersion="19"    //定义最低的API版本
    android:targetSdkVersion="23"  //定义目标API版本
    >


3、组件标签


    组件标签有<application></application>打标签包裹着,一个 AndroidManifest.xml 只能包含一个


<application>组件节点,在里边我们可以配置相关的组件信息,如 Android 四大组件(Activity、


Service、ContentProvider、Broadcast Receiver)


如:在<application>中设置属性值:


图标:android:icon

标题: android:label

主题样式:android:theme



    1、activity 组件由 <activity></activity>标签包裹着,并且我们可以指定android:name属性指定


activity的类名,且name的值最好是填写类的全限定类名,即 "包名.类名"的形式。


    且启动任何一个没有在 AndroidManifest.xml 文件中定义的 Activity 都会相应的报出异常。


    <intent-filter></intent-filter> 相当于该Activity 的一张名片,在现实生活中,我们可能不认识


一种事物或者某个人,但我们可以根据该种事物的相关特征、某人的相关事迹来确定一个人,即<intent-


filter>相当于Activity的过滤器,定义了该Activity的一些特征,以便别的Activity找到它


    2、service

    3、provider  需要设置name属性和authorities属性

也是同样的做法!

本文出自 “@coder” 博客,请务必保留此出处http://smallcoder.blog.51cto.com/11941149/1869171

学习Android之-----------------------AndroidManifest.xml