第一行代码:Android(2nd ed)(25):先从看得到的入手——探究活动 2.2.3

阅读数:35 2019 年 10 月 19 日 13:33

第一行代码:Android(2nd ed)(25):先从看得到的入手——探究活动 2.2.3

(活动的基本用法:在 AndroidManifest 文件中注册)

别忘了在上一章我们学过,所有的活动都要在 AndroidManifest.xml 中进行注册才能生效,而实际上 FirstActivity 已经在 AndroidManifest.xml 中注册过了,我们打开 app/src/main/AndroidManifest.xml 文件瞧一瞧,代码如下所示:

复制代码
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.activitytest">
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".FirstActivity"></activity>
</application>
</manifest>

可以看到,活动的注册声明要放在<application>标签内,这里是通过<activity>标签来对活动进行注册的。那么又是谁帮我们自动完成了对 FirstActivity 的注册呢?当然是 Android Studio 了,之前在使用 Eclipse 创建活动或其他系统组件时,很多人都会忘记要去 Android Manifest.xml 中注册一下,从而导致程序运行崩溃,很显然 Android Studio 在这方面做得更加人性化。

<activity>标签中我们使用了android:name来指定具体注册哪一个活动,那么这里填入的.FirstActivity是什么意思呢?其实这不过就是com.example.activitytest.FirstActivity的缩写而已。由于在最外层的<manifest>标签中已经通过package属性指定了程序的包名是com.example.activitytest,因此在注册活动时这一部分就可以省略了,直接使用.FirstActivity就足够了。

不过,仅仅是这样注册了活动,我们的程序仍然是不能运行的,因为还没有为程序配置主活动,也就是说,当程序运行起来的时候,不知道要首先启动哪个活动。配置主活动的方法其实在第 1 章中已经介绍过了,就是在<activity>标签的内部加入<intent-filter>标签,并在这个标签里添加<action android:name="android.intent.action.MAIN"/><category android: name="android.intent.category.LAUNCHER" />这两句声明即可。

除此之外,我们还可以使用android:label指定活动中标题栏的内容,标题栏是显示在活动最顶部的,待会儿运行的时候你就会看到。需要注意的是,给主活动指定的 label 不仅会成为标题栏中的内容,还会成为启动器(Launcher)中应用程序显示的名称。

修改后的 AndroidManifest.xml 文件,代码如下所示:

复制代码
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.activitytest">
<application
... >
<activity android:name=".FirstActivity"
android:label="This is FirstActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>

这样的话,FirstActivity 就成为我们这个程序的主活动了,即点击桌面应用程序图标时首先打开的就是这个活动。另外需要注意,如果你的应用程序中没有声明任何一个活动作为主活动,这个程序仍然是可以正常安装的,只是你无法在启动器中看到或者打开这个程序。这种程序一般都是作为第三方服务供其他应用在内部进行调用的,如支付宝快捷支付服务。

好了,现在一切都已准备就绪,让我们来运行一下程序吧,结果如图 2.7 所示。

第一行代码:Android(2nd ed)(25):先从看得到的入手——探究活动 2.2.3

图 2.7 首次运行结果

在界面的最顶部是一个标题栏,里面显示着我们刚才在注册活动时指定的内容。标题栏的下面就是在布局文件 first_layout.xml 中编写的界面,可以看到我们刚刚定义的按钮。现在你已经成功掌握了手动创建活动的方法,下面让我们继续看一看你在活动中还能做哪些事情吧。

评论

发布