今天学习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的生命周期-上的更多相关文章

  1. android 学习随笔十五(Activity的生命周期与摧毁时返回数据 )

    1.Activity的生命周期 onCreate:创建时调用 onStart:在屏幕上可见,但是还没有获得焦点 onResume:可见并且获得焦点 onPause:可见,但是失去焦点 onStop:不 ...

  2. Android开发艺术探索(一)——Activity的生命周期和启动模式

    Activity的生命周期和启动模式 生命周期有? 1.典型情况下的生命周期—>指有用户参与的情况下,Activity所经过的生命周期改变 2.异常情况下的生命周期—>指Activity被 ...

  3. Android学习笔记(五)——活动的生命周期

    //此系列博文是<第一行Android代码>的学习笔记,如有错漏,欢迎指正! 为了能写出流畅连贯的程序,我们需要了解一下活动的生命周期. 一.返回栈 Android 中的活动是可以层叠的. ...

  4. Android学习笔记(十) Activity的生命周期

    一.如何在一个应用程序中定义多个Activity -定义一个类,继承Activity -复写onCreate() setContentView(R.layout.secondLayout):设定该Ac ...

  5. Android开发艺术探索笔记——第一章:Activity的生命周期和启动模式

    Android开发艺术探索笔记--第一章:Activity的生命周期和启动模式 怀着无比崇敬的心情翻开了这本书,路漫漫其修远兮,程序人生,为自己加油! 一.序 作为这本书的第一章,主席还是把Activ ...

  6. android开发学习笔记000

    使用书籍:<疯狂android讲义>——李刚著,2011年7月出版 虽然现在已2014,可我挑来跳去,还是以这本书开始我的android之旅吧. “疯狂源自梦想,技术成就辉煌.” 让我这个 ...

  7. 【Android开发学习笔记】【高级】【随笔】插件化——Activity生命周期

    前言 如同第一章我们说的,宿主程序通过 dexclassloader 将插件的类加载进来,然后通过反射去调用它的方法,这样Activity就被当成了一个普通的类来执行了,因此系统不再接管它的生命周期, ...

  8. Android开发之漫漫长途 Ⅰ——Android系统的创世之初以及Activity的生命周期

    该文章是一个系列文章,是本人在Android开发的漫漫长途上的一点感想和记录,我会尽量按照先易后难的顺序进行编写该系列.该系列引用了<Android开发艺术探索>中的相关知识,再次表示该书 ...

  9. Andriod开发---《横竖屏切换时 Activity的生命周期的总结》

    横屏切换竖屏Activity的生命周期详解,下面分析一下切换时具体的生命周期: 1.新建一个Activity,并把各个生命周期打印出来 2.运行Activity,得到如下信息 onCreate--&g ...

随机推荐

  1. DataMember IsRequired属性

        1.简介 在数据契约中,如果需要序列化时,则需要传入指定IsRequired属性:   摘要: 获取或设置一个值,该值用于指示序列化引擎在读取或反序列化时成员必须存在.   public bo ...

  2. Catching Fish[HDU1077]

    Catching Fish Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)To ...

  3. Java集合的线程安全用法

    线程安全的集合包含2个问题 1.多线程并发修改一 个 集合 怎么办? 2.如果迭代的过程中 集合 被修改了怎么办? a.一个线程在迭代,另一个线程在修改 b.在同一个线程内用同一个迭代器对象进行迭代. ...

  4. Win 8 App开发框架解析

    开发前准备: Windows 8 RTM MSDN订阅用户下载地址: https://msdn.microsoft.com/zh-cn/subscriptions/securedownloads/hh ...

  5. windows phone 7 中怎样定义和使用资源(Resource)

    1. 系统资源. 在wp7开发中可以看到很多使用系统资源(resource)的例子,例如默认的新page: http://blog.csdn.net/matrixcl/article/details/ ...

  6. COJ978 WZJ的数据结构(负二十二)

    试题描述 输入两个正整数N.K,以及N个整数Ai,求第K小数. 输入 第一行为两个正整数N.K.第二行为N个正整数Ai. 输出 输出第K小数. 输入示例 5 41 2 3 3 5 输出示例 3 其他说 ...

  7. MLUtils.loadLibSVMFile

    import org.apache.spark.mllib.util.MLUtils// Load and parse the data file. val data = MLUtils.loadLi ...

  8. 针对binlog MIXED格式对表的增删改统计分析

    通常情况下DB都是有非常完整的监控的,那么如果监控不完善,那么在某段时间内又发生了性能问题,那么我们也可以分析binlog来尝试找到问题.下面就贴出命令,其实就是常用的命令组合. mysqlbinlo ...

  9. Apache Storm技术实战之3 -- TridentWordCount

    欢迎转载,转载请注明出处. 介绍TridentTopology的使用,重点分析newDRPCStream和stateQuery的实现机理. 使用TridentTopology进行数据处理的时候,经常会 ...

  10. hdoj-1233-还是畅通工程

    题目:hdoj-1233 题解: 本题是典型的最小生成树问题,给出的是无向图,这里使用的方法是Prim最小生成树算法. Reference Prim算法参照:最小生成树-Prim算法和Kruskal算 ...