第十課:Activity 及其子類的使用四:配置 Activity

Android 應用要求所有的應用程序組件(Activity、Service、ContentProvider、BroadcastReceiver)都必須顯示的進行配置。

只要爲<application.../>元素添加<activity.../>子元素即可配置 activity。例如如下的配置:

<activity android:name=".SampleActivity"
	android:icon="@drawable/small_pic.png"
	android:label="@string/freneticLabel"
	android:exported="true"
	android:launchMode="singleInstance">
	...
</activity>

從上面的配置片段可以看出,配置 Activity 時通常指定如下幾個屬性:

  • name:指定該 Activity 的實現類的類名
  • icon:指定該 Activity 對應的圖標
  • label:指定該 Activity 的標籤
  • export:指定該 Activity 是否允許被其他應用調用。如果將該屬性設爲 true,那麼該 Activity 將可以被其他應用調用
  • launchMode:指定該 Activity 的加載模式。該屬性支持 standard、singleTop、singleTask 和 singleInstance 這4種加載模式。這部分的詳細說明請參照:activity於AndroidManifest中的一些配置屬性
除此之外,配置 Activity 時通常還需要指定一個或多個<intent-filter.../>元素,該元素用於指定該 Activity 可響應的 Intent。例如:
<?xml version="1.0" encoding="utf-8"?>
<manifest
	xmlns:android="http://schemas.android.com/apk/res/android"
	package="org.crazyit.app"
	android:versionCode="1"
	android:versionName="1.0">
	<uses-sdk
		android:minSdkVersion="11"
		android:targetSdkVersion="17" />
	<application
		android:icon="@drawable/ic_launcher"
		android:label="@string/app_name">
<activity
	android:name=".OtherActivity"
	android:label="@string/app_name">
	<!-- 指定該Activity是程序的入口 -->
	<intent-filter>
		<action android:name="android.intent.action.MAIN" />
		<category android:name="android.intent.category.LAUNCHER" />
	</intent-filter>
</activity>
<!-- 定義兩個Activity -->
<activity
	android:name=".ExpandableListActivityTest"
	android:label="查看星際兵種">
</activity>
<activity
	android:name=".PreferenceActivityTest"
	android:label="設置程序參數">
</activity>
	</application>
</manifest>

關於 AndroidManifest.xml 文件的詳細配置說明,請參考:AndroidManifest.xml 配置文件詳解

發佈了34 篇原創文章 · 獲贊 32 · 訪問量 11萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章