Android开发从入门到精通(8) _2
修改AndroidManifest.xml文件 第八章(2)
在Eclipse内打开你的Androidmanifest.xml文件。在本书中还没有大量的讨论这个Androidmanifest.xml文件呢。Androidmanifest.xml文件包含项目的全局设置。更重要的是,Androidmanifest.xml还为项目包含了Intent过滤器。
第七章讨论了Android如何使用过滤器来排列哪种Intent可以被哪种活动所接受。使这个过程方便的信息就保留在Androidmanifest.xml中了。
注意
每个项目只能有一个Androidmanifest.xml文件。
如果你的Androidmanifest.xml文件是打开的,它应当如下显示:
<activity android:name=".AndroidViews" android:label="@string/app_name"> <intent-filter> <actionandroid:name="android.intent.action.MAIN"/> <categoryandroid:name="android.intent.category.LAUNCHER"/> </intent-filter> </activity> |
你在这里要看的是AndroidView活动——项目创建的主要活动的Intent过滤器。对于这个文件,你可以增加任何其它的Intent过滤器来交给项目处理。本例中,你要增加处理你创建的Test活动的过滤器。下面是你需要为Intent过滤器增加的代码到Androidmanifest.xml文件中。
<activity android:name=".Test" android:label="Test Activity"> <intent-filter> <actionandroid:name="android.intent.action.MAIN"/> <categoryandroid:name="android.intent.category.LAUNCHER"/> </intent-filter> </activity> |
增加代码到AndroidManifest.xml文件中确保Android为Test活动传递Intent到正确的地方。完整的AndroidManifest.xml文件应当如下:
<?xml version="1.0" encoding="utf-8"?> <manifestxmlns:android=http://schemas.android.com/apk/res/android package="android_programmers_guide.AndroidViews"> <applicationandroid:icon="@drawable/icon"> <activityandroid:name=".AndroidViews"android:label="@string/app_name"> <intent-filter> <actionandroid:name="android.intent.action.MAIN"/> <categoryandroid:name="android.intent.category.LAUNCHER"/> </intent-filter> </activity> <activityandroid:name=".AutoComplete"android:label="AutoComplete"> <intent-filter> <actionandroid:name="android.intent.action.MAIN"/> <categoryandroid:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> </manifest> |
现在你的活动可以为Test活动处理Intent呼叫了。要让你的Intent呼叫Test活动,你将要使用和在第七章呼叫电话拨号盘非常类似的结构。下面的代码会设置你的Intent:
注意
当你启动应用程序,将要打开的活动是你创建项目的AndroidViews活动。因此,放置下面的代码在AndroidViews.java中来启动Test活动。
Intent testActivity = new Intent(this, test.class); |
这一行创建一个叫做testActivity的Intent。参数test.class告诉呼叫,你要testActivity这个Intent来展示创建的和本活动相关联的Test活动。
警告
当你使用Intents时,不要忘记输入android.content.intent包装。
最后,使用startActivity()方法来精确启动Test 活动:
startActivity(autocomplete); YourcompletedAndroidViews.javafileshouldlooklikethis: packageandroid_programmers_guide.AndroidViews; importandroid.app.Activity; importandroid.os.Bundle; importandroid.view.Menu; importandroid.content.Intent; publicclassAndroidViewsextendsActivity{ /**CalledwhentheActivityisfirstcreated./ @Override publicvoidonCreate(Bundleicicle){ super.onCreate(icicle); setContentView(R.layout.main); /**Set up our Intent / |
在模拟器中运行这个应用程序。Android应当启动AndroidViews活动,紧跟着Test活动。
在下一节中,你将使用这些技巧来创建一个启动多重活动的应用程序。每个活动将在一个View里,这样你可以应用不同的选项。这个将会给你大量的练习显示并熟练掌握Views和使用活动。
注意
要使用本章剩下的例子,移除本节创建的Test活动。你要继续做没有Test活动的AndroidViews项目的作品。
使用菜单