【Android开发学习笔记】【第五课】Activity的生命周期-上
今天学习Activity当中的七个生命周期函数:
首先得说一个事情,就是在代码当中如果加入了 System.out.println(" ------");之后,如何查看这里面的输出内容

打开之后只输入“Filter Name”和“by Log Tag” 即可

添加成功后可以看到

本次学习主要总结如下:
1、onCreate()
Acitivity首次创建时被调用。用于设置Acitivity的布局文件,绑定按钮监听器等一些普通静态操作。
2、onStart()
Acitivity对用户可见时被调用。
3、onResume()
Acitivity获得用户焦点,即用户可操作该Acitivity时被调用。
4、onPause()
应用程序启动了其它Acitivity时被调用。一般用于保存当前Acitivity中的数据。
5、onStop()
Acitivity不可见时被调用。
6、onRestart()
已停止的Acitivity重新启动时被调用。
7、onDestroy()
调用Acitivity的finish()方法或Android系统资源不足时被调用。
这么如果不好理解的话,请看下面:
首先建立了两个Activity,并且重写了这两个Activity的这7个生命周期函数,其次第一个Activity可以通过按钮调用第二个Activity
package com.example.activitytest;
import com.example.activitytest.R;
import com.example.activitytest.FirstActivity; import android.app.Activity;
import android.app.ActionBar;
import android.app.Fragment;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.os.Build; public class FirstActivity extends Activity
{
public Button mybutton = null; @Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_first);
System.out.println("first----onCreate()"); mybutton = (Button)findViewById(R.id.Mybutton);
mybutton.setText("my button");
mybutton.setOnClickListener(new MyButtonListen());
} class MyButtonListen implements OnClickListener
{ @Override
public void onClick(View v)
{
// TODO Auto-generated method stub
Intent intent = new Intent();
intent.putExtra("testintent", "ccyy");
intent.setClass(FirstActivity.this, SecondActivity.class);
FirstActivity.this.startActivity(intent);
}
} @Override
protected void onDestroy() {
// TODO Auto-generated method stub
System.out.println("first----onDestroy()");
super.onDestroy();
} @Override
protected void onPause() {
// TODO Auto-generated method stub
System.out.println("first----onPause()");
super.onPause();
} @Override
protected void onRestart() {
// TODO Auto-generated method stub
System.out.println("first----onRestart()");
super.onRestart();
} @Override
protected void onResume() {
// TODO Auto-generated method stub
System.out.println("first----onResume()");
super.onResume();
} @Override
protected void onStart() {
// TODO Auto-generated method stub
System.out.println("first----onStart()");
super.onStart();
} @Override
protected void onStop() {
// TODO Auto-generated method stub
System.out.println("first----onStop()");
super.onStop();
}
}
上面是第一个Activity
package com.example.activitytest; import android.app.Activity;
import android.os.Bundle; public class SecondActivity extends Activity
{ @Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.second); System.out.println("second----onCreate()");
} @Override
protected void onDestroy() {
// TODO Auto-generated method stub
System.out.println("second----onDestroy()");
super.onDestroy();
} @Override
protected void onPause() {
// TODO Auto-generated method stub
System.out.println("second----onPause()");
super.onPause();
} @Override
protected void onRestart() {
// TODO Auto-generated method stub
System.out.println("second----onRestart()");
super.onRestart();
} @Override
protected void onResume() {
// TODO Auto-generated method stub
System.out.println("second----onResume()");
super.onResume();
} @Override
protected void onStart() {
// TODO Auto-generated method stub
System.out.println("second----onStart()");
super.onStart();
} @Override
protected void onStop() {
// TODO Auto-generated method stub
System.out.println("second----onStop()");
super.onStop();
}
}
上面是第二个Activity
接下来运行程序,然后看日志中显示的信息:
1.启动后,显示了第一个Activity

2.通过按钮调用其第二个Activity

3.back键返回到第一个Activity

4.退出这个App

【Android开发学习笔记】【第五课】Activity的生命周期-上的更多相关文章
- android 学习随笔十五(Activity的生命周期与摧毁时返回数据 )
1.Activity的生命周期 onCreate:创建时调用 onStart:在屏幕上可见,但是还没有获得焦点 onResume:可见并且获得焦点 onPause:可见,但是失去焦点 onStop:不 ...
- Android开发艺术探索(一)——Activity的生命周期和启动模式
Activity的生命周期和启动模式 生命周期有? 1.典型情况下的生命周期—>指有用户参与的情况下,Activity所经过的生命周期改变 2.异常情况下的生命周期—>指Activity被 ...
- Android学习笔记(五)——活动的生命周期
//此系列博文是<第一行Android代码>的学习笔记,如有错漏,欢迎指正! 为了能写出流畅连贯的程序,我们需要了解一下活动的生命周期. 一.返回栈 Android 中的活动是可以层叠的. ...
- Android学习笔记(十) Activity的生命周期
一.如何在一个应用程序中定义多个Activity -定义一个类,继承Activity -复写onCreate() setContentView(R.layout.secondLayout):设定该Ac ...
- Android开发艺术探索笔记——第一章:Activity的生命周期和启动模式
Android开发艺术探索笔记--第一章:Activity的生命周期和启动模式 怀着无比崇敬的心情翻开了这本书,路漫漫其修远兮,程序人生,为自己加油! 一.序 作为这本书的第一章,主席还是把Activ ...
- android开发学习笔记000
使用书籍:<疯狂android讲义>——李刚著,2011年7月出版 虽然现在已2014,可我挑来跳去,还是以这本书开始我的android之旅吧. “疯狂源自梦想,技术成就辉煌.” 让我这个 ...
- 【Android开发学习笔记】【高级】【随笔】插件化——Activity生命周期
前言 如同第一章我们说的,宿主程序通过 dexclassloader 将插件的类加载进来,然后通过反射去调用它的方法,这样Activity就被当成了一个普通的类来执行了,因此系统不再接管它的生命周期, ...
- Android开发之漫漫长途 Ⅰ——Android系统的创世之初以及Activity的生命周期
该文章是一个系列文章,是本人在Android开发的漫漫长途上的一点感想和记录,我会尽量按照先易后难的顺序进行编写该系列.该系列引用了<Android开发艺术探索>中的相关知识,再次表示该书 ...
- Andriod开发---《横竖屏切换时 Activity的生命周期的总结》
横屏切换竖屏Activity的生命周期详解,下面分析一下切换时具体的生命周期: 1.新建一个Activity,并把各个生命周期打印出来 2.运行Activity,得到如下信息 onCreate--&g ...
随机推荐
- PDA手持终端在ERP系统仓库管理出入库盘点环节的应用
PDA手持终端在ERP系统仓库管理出入库盘点环节的应用 传统库存管理的数据录入过程,常采用PC机录入数据,或在电脑上结合条码枪扫描条码进行管理(非实时),造成管理上的不便.因而,采用无线(WIFI)手 ...
- 多功能扫描打印读卡一体手持POS终端
以往便利店或者超市,前台那个笨重的POS机和站在POS机后的收银员.传统的零售店中,笨重的POS机随处可见. 一个顾客要结账,就需要通过POS机.小票打印机.刷卡器等的配合才能实现.店面需要盘点,整理 ...
- Google地图接口API之地图事件(四)
演示几个地图事件: 1. 点击标记缩放地图 仍然使用上一遍文章使用的英国伦敦的地图.点用户点击标记时实现缩放地图的功能(点击标记时绑定地图缩放事件). 代码如下: <html> <h ...
- 学习C# XmlSerializer 序列化反序列化XML
类.变量常用头: [XmlRootAttribute]:对根节点的描述,在类声明中使用 如:下例的Html类 [XmlType]:对节点描述,在类声明中使用 如:下例的Head类 [X ...
- BZOJ3748 : [POI2015]Kwadraty
打表可得结论: 1.只有2,3,6,7,8,11,12,15,18,19,...,108,112,128这31个数的k值是无穷大 2.当n足够大的时候,即当n>506时,设$f(x)=1^2+2 ...
- POJ 1523 (割点+连通分量)
题目链接:http://poj.org/problem?id=1523 题目大意:连通图,找图中割点,并计算切除该割点后,图中的连通分量个数. 解题思路: POJ的数据很弱. Tarjan法求割点. ...
- TYVJ P1080 N皇后 Label:dfs PS:以前做的一道题,贴出来防忘
描述 检查一个如下的6 x 6的跳棋棋盘,有六个棋子被放置在棋盘上,使得每行.每列只有一个,每条对角线(包括两条主对角线的所有平行线)上至多有一个棋子. 上面的布局可以用序列2 4 6 1 3 5来描 ...
- XmlElement 类
构造函数 名称 说明 XmlElement(String, String, String, XmlDocument) 此 API 支持 产品 基础结构,不能在代码中直接使用. 初始化 XmlEle ...
- sql server导出insert语句
在所需要导出数据库上右键 选择[任务] 然后选择[生成脚本] 选择数据库,点击下一步到[数据脚本选项] 编写数据的脚本 选择为true 这一步很重要 下一步选择要导出的对象 下一步选择表 点击完成 ...
- cvReleaseImage 释放内存出错
cvReleaseImage是OpenCV中C语言库中的释放图片内存的函数,比如我们加载或者克隆了一幅图片,当不需要这幅图片了时,我们为了避免内存泄露,需要释放这些空间,可以参见我之前的博客OpenC ...