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

  -定义一个类,继承Activity
  -复写onCreate()
    setContentView(R.layout.secondLayout):设定该Activity使用的布局文件
  -在AndroidManifest.xml文件中注册该Activity
    1)在Application标签里面加入一个Activity标签,name一般为“包名+类名”,label一般为Activity名
    2)如果要修改程序默认启动的Activity,需要将intent-filter标签及其内容移动到该Activity中

二、启动一个Activity的方法

  -生成一个意图对象(Intent)
    Intent intent = new Intent();

  -调用setClass方法设置索要启动的Activity
    intent.setClass(MainActivity.this,SecondActivity.class);
      //setClass函数的第一个参数是Context对象
      //Context是一个类,Activity是Context类的子类,也就是说所有的Activity对象都可以向上转型为Context对象
      //第二个参数是一个Class对象,当前场景下应该传入需要被启动的Activity的Class对象

  -调用startActivity方法启动Activity
    startActivity(intent);

三、Android当中的back stack

  先后启动的Activity会放在一个栈里,被称为back stack。

四、Activity的生命周期函数

  -onCreate,在第一次创建Activity时调用
  -onStart,使Activity变得可见时调用
  -onResume,当Activity开始准备与用户交互时调用
  -onPause,当系统即将启动另外一个Activity之前调用
  -onStop,当前Activity变得不可见时调用
  -onDestroy,当前Activity被销毁之前调用
  -onRestart,当一个Activity再次启动之前调用

五、Activity对象的状态

  -Resumed,Activity对象处于运行状态
  -Paused,另一个Activity位于前端,但是本Activity仍然可见
  -Stopped,另一个Activity位于前端,完全遮挡本Activity

六、成对的生命周期函数

  onPause<-->onResume
  onStop<-->onStart
  onCreate<-->onDestroy
  onRestart

七、以开车为例

  onCreate-->买车
  onDestroy-->车报废
  onStart-->点火
  onStop-->熄火
  onResume-->踩油门,驱动汽车前进
  onPause-->松开油门

Android学习笔记(十) Activity的生命周期的更多相关文章

  1. android学习四(Activity的生命周期)

    要学好活动(Activity).就必需要了解android中Activity的声明周期.灵活的使用生命周期.能够开发出更好的程序,在android中是使用任务来管理活动的,一个任务就是一组存放在栈里的 ...

  2. 零基础Android学习笔记-02 安卓程序生命周期

    一个安卓程序生命周期会经历7中状态,并不一定是每次都全部经历.Create,Start,ReStart,Pause,Resume,Stop,Destory. 重载方法,用helloWorld程序去体验 ...

  3. Android四大组件之——Activity的生命周期(图文详解)

        转载请在文章开头处注明本博客网址:http://www.cnblogs.com/JohnTsai       联系方式:JohnTsai.Work@gmail.com       [Andro ...

  4. Android应用程序中Activity的生命周期

    Android应用程序中Activity的生命周期 对于Android来说Activity的生命周期是非常的重要,尤其是对于新学者来说,只有充分了解了Activity的生命周期,才能写出优良用户体验的 ...

  5. Android学习笔记:Activity生命周期详解

    进行android的开发,必须深入了解Activity的生命周期.而对这个讲述最权威.最好的莫过于google的开发文档了. 本文的讲述主要是对 http://developer.android.co ...

  6. Android开发艺术探索读书笔记——01 Activity的生命周期

    http://www.cnblogs.com/csonezp/p/5121142.html 新买了一本书,<Android开发艺术探索>.这本书算是一本进阶书籍,适合有一定安卓开发基础,做 ...

  7. Android开发学习之路--Activity之生命周期

    其实这篇文章应该要在介绍Activity的时候写的,不过那个时候还不怎么熟悉Activity,还是在这里详细介绍下好了.还是参考下官方文档的图吧: 从上面的流程,我们可以看出首先就是打开APP,开始执 ...

  8. android开发艺术探索学习 之 结合Activity的生命周期了解Activity的LaunchMode

    转载请标明出处: http://blog.csdn.net/lxk_1993/article/details/50749728 本文出自:[lxk_1993的博客]: 首先还是先介绍下Activity ...

  9. Android学习笔记之Activity详解

    1 理解Activity Activity就是一个包含应用程序界面的窗口,是Android四大组件之一.一个应用程序可以包含零个或多个Activity.一个Activity的生命周期是指从屏幕上显示那 ...

  10. 【Android】11.1 Activity的生命周期和管理

    分类:C#.Android.VS2015: 创建日期:2016-02-21 一.基本概念 1.必须理解这些方法,否则你编的程序根本就没法在实际项目中使用 当然,如果仅仅是为了玩玩,或者仅仅是作为例子为 ...

随机推荐

  1. Android多线程更新UI的方式

    Android下,对于耗时的操作要放到子线程中,要不然会残生ANR,本次我们就来学习一下Android多线程更新UI的方式. 首先我们来认识一下anr: anr:application not rep ...

  2. 堆排序C++实现

    //heap sort //堆排序能够分为两个过程.其一是建堆.其二是出堆 //堆是一种全然二叉树,所以它能够用数组进行存储. //堆可分为最大堆和最小堆.最大堆指任一节点的值都大于其左右孩子节点的值 ...

  3. QmlWinExtras

    版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/zhengtianzuo06/article/details/78404961QtWinExtras是 ...

  4. YTU 2579: 填空题----删除指定字符

    2579: 填空题----删除指定字符 时间限制: 1 Sec  内存限制: 128 MB 提交: 164  解决: 61 题目描述 小明想要做个小程序,能够删除字符串中特定的字符. 例如:想要在下面 ...

  5. Linux网络协议栈(三)——网络设备(1)

    网络设备(network device)是内核对网络适配器(硬件)的抽象与封装,并为各个协议实例提供统一的接口,它是硬件与内核的接口,它有两个特征:(1)    作为基于硬件的网络适配器与基于软件的协 ...

  6. bzoj 3809 Gty的二逼妹子序列 —— 莫队+分块

    题目:https://www.lydsy.com/JudgeOnline/problem.php?id=3809 据说一开始应该想到莫队+树状数组,然而我想的却是莫队+权值线段树... 如果用权值线段 ...

  7. JSP 注释的详解及简单实例

    转自:https://www.jb51.net/article/124727.htm JSP 注释的详解及简单实例 一 三种格式 二 举例 ? 1 2 3 4 5 6 7 8 9 10 11 12 1 ...

  8. asp.net mvc4 新特性

    摘自:ASP.MVC Web编程 几种模板的解释

  9. Luogu P1541 乌龟棋 【线性dp】

    题目背景 小明过生日的时候,爸爸送给他一副乌龟棋当作礼物. 题目描述 乌龟棋的棋盘是一行 N 个格子,每个格子上一个分数(非负整数).棋盘第1格是唯一的起点,第 N 格是终点,游戏要求玩家控制一个乌龟 ...

  10. Linux基本命令—mkfs/mount/umount/wget/yes/make/passwd

    mkfs:用来在特定的分区建立Linux文件系统,是make filesystem的缩写. 例子:mkfs .ext3 /dev/mmcblk0p1      //把该设备格式化成ext3文件系统 m ...