學習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 中的位置


wKiom1gbNXGwXs28AAHeKWWTWV8797.png-wh_50



三、AndroidManifest.xml 常用標籤解讀



1、分類


        全局標籤(包名及版本信息)、組件標籤(四大組件)、權限標籤(申請及定義權限)


2、全局標籤


package="com.example.administrator.myapplication" //定義項目主函數包名,類似於java應用程序main方法
android:revisionCode="1"   //定義該Android應用的版本號
android:versionName="@string/hello" //定義該Android應用的版本名稱

以上三個屬性位於根標籤<manifest >中以屬性的形式給出。

wKioL1gbN_2DzOFIAAAbeVjr_Xw233.png-wh_50

<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屬性

也是同樣的做法!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章