【声明】

欢迎转载,但请保留文章原始出处→_→

【正文】

一、如何在一个应用程序当中定义多个Activity:

步骤如下:

1. 定义一个类,继承Activity

2. 在该类中复写Activity的onCreate()方法

3. 在AndroidManifest.xml文件中注册该Activity

详细解释如下:

1. 定义一个类,继承Activity

在src文件夹里面的包中新建一个class文件,可命名为:SecondActivity.java。

2. 在该类中复写Activity的onCreate()方法

在菜单栏选择Source--->Override/Implement Methods,弹出框,选择其中的onCreate()方法。注:onCreate()方法是Activity运行的入口。紧接着,在layout文件夹中,为该Activity添加布局文件(文件名必须为小写)。在该布局文件中添加一个 <TextView />。在SecondActivity.java中设置该Activity所使用的布局文件,即在onCreate()方法中添加如下代码。

3. 在AndroidManifest.xml文件中注册该Activity

想要启动的Activity一定要先在Manifest文件中进行注册。打开AndroidManifest.xml文件,注意里面的Activity标签,即以下代码:

02行:代表Activity的名字:包名+类名。

03行:label指定活动中标题栏的内容。

04至08行:Activity的子标签,即:以上这段代码放在哪个Activity里,那个Activity就作为应用程序默认启动的Activity。即程序运行后的默认启动的Activity。现在将SecondActivity注册进去,在第一个Activity后面,添加如下代码。

二、Android中的back stack(后退栈):

后退栈是一个先进后出(子弹上膛)的栈结构。Android操作系统只显示back stack中最上面的元素(只显示栈顶端的activity)。在上方的图中,当用户点击后退按钮时,出现以下情况:最上方的activity将被移除,依此类推。

三、启动一个Activity的方法:

在默认启动的Activity中启动另一个Activity的核心代码如下:

步骤如下:

1. 生成一个意图对象 Intent(Intent封装了你想做什么这件事)

2. 调用setClass方法设置所要启动的Activity

3. 调用startActivity方法启动Activity

具体解释如下:

【实例】在第一个Activity点击按钮,来启动第二个Activity;在第二个Activity点击按钮,返回到第一个Activity

1. 生成一个意图对象 Intent:

```java

Intent intent = new Intent();

```

2. 调用setClass方法设置所要启动的Activity:

```java

intent.setClass(packageContext, cls);

```

参数解释如下:

- 第一个参数:这个context对象即当前activity对象。Activity是context类的子类,此时Activity向上转型了。

- 第二个参数:表示意图启动的那个Activity。

3. 调用startActivity方法启动Activity:

```java

startActivity(intent);

```

总而言之,监听器部分的【核心代码】如下:

核心代码为第04行至第09行。

【完整代码】如下:方案一并在清单文件中注册SecondActivity,添加如下代码:

或者如果不绑定监听器的话,可以对布局文件中的Button添加如下代码:android:onClick="gotoSecondActivity"【完整代码】如下:方案二并在清单文件中注册SecondActivity,添加如下代码:

SecondActivity的生命周期函数包括:

- onCreate():当该Activity被创建时调用。

- onStart():当该Activity可见且用户可以与之交互时调用。

- onResume():当该Activity成为前台活动并开始与用户进行交互时调用。

- onPause():当该Activity失去焦点但仍可见时调用。

- onStop():当该Activity不再可见或不可用时调用。

- onDestroy():当该Activity被销毁前调用。

MainActivity的生命周期函数包括:

- onCreate():当该Activity被创建时调用。

- onStart():当该Activity可见且用户可以与之交互时调用。

- onResume():当该Activity成为前台活动并开始与用户进行交互时调用。

- onStop():当该Activity不再可见或不可用时调用。

- onRestart():当此Activity被系统销毁后重新启动时调用。

- onStart():当此Activity成为运行状态(即可见)并且当前Activity已经处于暂停状态时调用。

- onResume():当此Activity成为运行状态(即可见),并且当前Activity已经被暂停过,或者当前Activity是从stop状态变为运行状态的时候调用。

按返回菜单后,回到MainActivity的生命周期函数描述如下:

- MainActivity:onPause()

- MainActivity:onStop()

- 再回到原来的程序:

1. MainActivity:onRestart()

2. MainActivity:onStart()

3. MainActivity:onResume()

4. SecondActivity:onStop()

5. SecondActivity:onDestroy()