【正文】
一、如何在一个应用程序当中定义多个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()方法中添加如下代码:
打开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
(2)调用setclass方法设置所要启动的activity
(3)调用startactivity方法启动activity
具体解释如下:
【实例】在第一个activity点击按钮,来启动第二个activity;在第二个activity点击按钮,返回到第一个activity
(1)生成一个意图对象 intent (intent封装了你想做什么这件事)
在布局文件activity_main.xml文件中添加一个button,并在mainactivity.java中生成button的监听器,
生成意图对象的代码如下:
intent intent = new intent() ;
(2)调用setclass方法设置所要启动的activity:
intent中的setclass方法格式如下:
intent.setclass(packagecontext, cls) ;
参数解释如下:
第一个参数:这个context对象即当前activity对象。activity是context类的子类,此时activity向上转型了。
第二个参数:表示意图启动的那个activity 。
总而言之,监听器部分的【核心代码】如下:
核心代码为第04行至第09行。
【完整代码】如下:方案一
并在清单文件中注册secondactivity,添加如下代码:
或者如果不绑定监听器的话,可以对布局文件中的button添加如下代码:android:onclick="gotosecondactivity"
【完整代码】如下:方案二
生命周期描述如下:
当用户点击当前默认的mainactivity中的按钮后,会跳到secondactivity。生命周期如下:
启动默认activity时:
mainactivity:oncreate
mainactivity:onstart
mainactivity: onresume
点击按钮后,跳到secondactivity:(mainactivity被保留至栈底)
mainactivity:onpause
secondactivity:oncreate
secondactivity:onstart
secondactivity: onresume
mainactivity: onstop
按返回菜单后,回到mainactivity:(secondactivity被销毁)
secondactivity: onpause
mainactivity:onrestart
secondactivity: onstop
secondactivity: ondestroy
当用户打开应用程序,之后按home键返回到主页(或者按电源键,效果是一样的),再回到原来的程序。生命周期描述如下:
按home键返回到主页:
mainactivity:onstop
再回到原来的程序:
mainactivity:onresume