今天学习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

  

  1. package com.example.activitytest;
  2. import com.example.activitytest.R;
  3. import com.example.activitytest.FirstActivity;
  4.  
  5. import android.app.Activity;
  6. import android.app.ActionBar;
  7. import android.app.Fragment;
  8. import android.content.Intent;
  9. import android.net.Uri;
  10. import android.os.Bundle;
  11. import android.view.LayoutInflater;
  12. import android.view.Menu;
  13. import android.view.MenuItem;
  14. import android.view.View;
  15. import android.view.ViewGroup;
  16. import android.view.View.OnClickListener;
  17. import android.widget.Button;
  18. import android.os.Build;
  19.  
  20. public class FirstActivity extends Activity
  21. {
  22. public Button mybutton = null;
  23.  
  24. @Override
  25. protected void onCreate(Bundle savedInstanceState)
  26. {
  27. super.onCreate(savedInstanceState);
  28. setContentView(R.layout.activity_first);
  29. System.out.println("first----onCreate()");
  30.  
  31. mybutton = (Button)findViewById(R.id.Mybutton);
  32. mybutton.setText("my button");
  33. mybutton.setOnClickListener(new MyButtonListen());
  34. }
  35.  
  36. class MyButtonListen implements OnClickListener
  37. {
  38.  
  39. @Override
  40. public void onClick(View v)
  41. {
  42. // TODO Auto-generated method stub
  43. Intent intent = new Intent();
  44. intent.putExtra("testintent", "ccyy");
  45. intent.setClass(FirstActivity.this, SecondActivity.class);
  46. FirstActivity.this.startActivity(intent);
  47. }
  48. }
  49.  
  50. @Override
  51. protected void onDestroy() {
  52. // TODO Auto-generated method stub
  53. System.out.println("first----onDestroy()");
  54. super.onDestroy();
  55. }
  56.  
  57. @Override
  58. protected void onPause() {
  59. // TODO Auto-generated method stub
  60. System.out.println("first----onPause()");
  61. super.onPause();
  62. }
  63.  
  64. @Override
  65. protected void onRestart() {
  66. // TODO Auto-generated method stub
  67. System.out.println("first----onRestart()");
  68. super.onRestart();
  69. }
  70.  
  71. @Override
  72. protected void onResume() {
  73. // TODO Auto-generated method stub
  74. System.out.println("first----onResume()");
  75. super.onResume();
  76. }
  77.  
  78. @Override
  79. protected void onStart() {
  80. // TODO Auto-generated method stub
  81. System.out.println("first----onStart()");
  82. super.onStart();
  83. }
  84.  
  85. @Override
  86. protected void onStop() {
  87. // TODO Auto-generated method stub
  88. System.out.println("first----onStop()");
  89. super.onStop();
  90. }
  91. }

  上面是第一个Activity

  

  1. package com.example.activitytest;
  2.  
  3. import android.app.Activity;
  4. import android.os.Bundle;
  5.  
  6. public class SecondActivity extends Activity
  7. {
  8.  
  9. @Override
  10. protected void onCreate(Bundle savedInstanceState)
  11. {
  12. super.onCreate(savedInstanceState);
  13. setContentView(R.layout.second);
  14.  
  15. System.out.println("second----onCreate()");
  16. }
  17.  
  18. @Override
  19. protected void onDestroy() {
  20. // TODO Auto-generated method stub
  21. System.out.println("second----onDestroy()");
  22. super.onDestroy();
  23. }
  24.  
  25. @Override
  26. protected void onPause() {
  27. // TODO Auto-generated method stub
  28. System.out.println("second----onPause()");
  29. super.onPause();
  30. }
  31.  
  32. @Override
  33. protected void onRestart() {
  34. // TODO Auto-generated method stub
  35. System.out.println("second----onRestart()");
  36. super.onRestart();
  37. }
  38.  
  39. @Override
  40. protected void onResume() {
  41. // TODO Auto-generated method stub
  42. System.out.println("second----onResume()");
  43. super.onResume();
  44. }
  45.  
  46. @Override
  47. protected void onStart() {
  48. // TODO Auto-generated method stub
  49. System.out.println("second----onStart()");
  50. super.onStart();
  51. }
  52.  
  53. @Override
  54. protected void onStop() {
  55. // TODO Auto-generated method stub
  56. System.out.println("second----onStop()");
  57. super.onStop();
  58. }
  59. }

  上面是第二个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. PO3281 Dining(最大流)

    如果只有食物或者饮料那就是个二分图最大匹配. 三个真想不出来..然后看题解..从源点到食物到牛到饮料到汇点,这样建图. 所以思维不能太局限了,不懂得把食物和饮料放到牛两边,以为牛吃食物饮料.食物饮料被 ...

  2. bzoj1011 [HNOI2008]遥远的行星

    1011: [HNOI2008]遥远的行星 Time Limit: 10 Sec  Memory Limit: 162 MBSec  Special JudgeSubmit: 2480  Solved ...

  3. Viola Jones Face Detector

    Viola Jones Face Detector是Paul viola 和 Michael J Jones共同提出的一种人脸检测框架.它极大的提高了人脸检测的速度和准确率. 速度提升方面:利用积分图 ...

  4. BZOJ4296 : [PA2015]Mistrzostwa

    先不断将度数小于D的点都删去,再找到剩下的图里最大的连通块即可. #include<cstdio> #include<algorithm> #define N 200010 i ...

  5. BZOJ2102 : [Usaco2010 Dec]The Trough Game

    暴力枚举答案然后检验. #include<cstdio> int n,m,i,j,k,a[100],b[100],cnt,ans;char s[20]; int main(){ for(s ...

  6. 常用元素默认margin和padding值问题探讨

    关于默认元素在不同浏览器中的margin值是多少的问题,今天做了一个探讨 复制代码 代码如下: // body的margin值 firefox 20.0 ----------------------- ...

  7. HDU 1429 (BFS+记忆化状压搜索)

    题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=1429 题目大意:最短时间内出迷宫,可以走回头路,迷宫内有不同的门,对应不同的钥匙. 解题思路: 要是 ...

  8. shell中(),[]和[[]]的区别

    1. 首先,尽管很相似,但是从概念上讲,二者是不同层次的东西."[[",是关键字,许多shell(如ash bsh)并不支持这种方式.ksh, bash(据说从2.02起引入对[[ ...

  9. php中alert弹出时单双引号问题

    php代码中单双引号问题是个很重要的问题,使用不当会造成很多麻烦.先记录一下今天写alert遇到的麻烦.我做登录的时候,成功时想弹出个提示说登录成功.写alert语句时不显示.其实就是单双引号弄得不对 ...

  10. Symantec Antivirus (SAV) for Linux Installation Checklist

    https://support.symantec.com/en_US/article.TECH134163.html