編輯:Android開發實例
作為一個在工作中使用Visual Studio工具的程序員,我對Manifest這個文件並不陌生,它是對應用程序的說明,包括運行權限、界面主題等。在VS中有可視化的設置界面,開發人員只需要進行簡單的操作,就會自動形成這個文件,所以在通常情況下,很多VS開發人員其實並不都知道Manifest.xml文件的存在,更不用說了解它的作用了。
而在Eclipse開發工具中,似乎找不到類似的可視化的設置界面,而每個Android的application都必須包含一個AndroidManifest.xml,且文件名是固定的,不能修改。應用程序需要通過它向Android系統提供一些必需的信息,且需要在application運行前提供給系統,如下圖所示:
AndroidManifest.xml主要包含以下功能:
AndroidManifest.xml文件的結構、元素,以及元素的屬性,可以在Android SDK文檔中查看詳細說明。而在看這些眾多的元素以及元素的屬性前,需要先了解一下這些元素在命名、結構等方面的規則:
這裡,結合我們的flashlight實例中的AndroidManifest.xml文件來說明一下,原XML文件如下:
<?xml version=”1.0″ encoding=”utf-8″?>
<manifest xmlns:android=”http://schemas.android.com/apk/res/android”
package=”moandroid.flashlight”
android:versionCode=”1″
android:versionName=”1.0″>
<application android:icon=”@drawable/icon” android:label=”@string/app_name”>
<activity android:name=”.flashlight” android:label=”@string/app_name”>
<intent-filter>
<action android:name=”android.intent.action.MAIN” />
<category android:name=”android.intent.category.LAUNCHER” />
</intent-filter>
</activity>
</application>
<uses-sdk android:minSdkVersion=”3″ />
</manifest>
除去頭部XML信息說明,首先是manifest項—根節點,其屬性包括:schemas URL地址、包名(moandroid.flashlight),以及程序的版本說明。其次是manifest的子節點application,其屬性包括:程序圖標、程序名稱。前面帶有@表示引用資源,例?a class="__cf_email__" href="/cdn-cgi/l/email-protection" data-cfemail="59befae3193d2b382e383b353c">[email protected]/icon表示引用的是drawable資源中的icon,可以在其源工程的res/drawable中找到。然後就是application的子節點activity,其屬性包括:activity的名稱、activity的標簽名,其子節點intent-filter則是對activity的說明。
而在intent-filter中,action android:name=”android.intent.action.MAIN”和category android:name=”android.intent.category.LAUNCHER”用以說明程序啟動時的入口activity是哪個。如果這兩個屬性值中分別含有MAIN和LAUNCHER,則說明它就是啟動程序時的入口活動。如果想完全了解application與activity項的說明,就需要更為深入的了解和學習Android,這裡因篇幅限制暫且不提。
uses-sdk android:minSdkVersion=”3″說明程序使用的Android SDK的最低版本,其中1表示Android 1.0,2表示Android 1.1,而3則表示Android 1.5。
在Eclipse中創建工程後,會自動生成一個AndroidManifest.xml文件。在代碼編寫的過程中,需要同時修改AndroidManifest.xml,如果配置出現錯誤會導致程序不能正常運行。
其他更為詳細的元素、屬性以及值的說明,可查閱Android SDK開發指南中的詳細內容。
地址如下:
http://developer.android.com/guide/topics/manifest/manifest-intro.html
一、概述 近期注意到QQ新版使用了沉浸式狀態欄
Android提供了許多方法來控制播放的音頻/視頻文件和流。其中該方法是通過一類稱為MediaPlayer。Android是提供MediaPlayer類訪問內置的媒體播放
在Activity中覆寫下面兩個方法:代碼如下: // 創建菜單 @Override public boo
JSON代表JavaScript對象符號。它是一個獨立的數據交換格式,是XML的最佳替代品。本章介紹了如何解析JSON文件,並從中提取所需的信息。Android提供了四個