一、如何在一个应用程序中定义多个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. 图像处理之基础---opencv 开发的环境搭建

    vs2010 opencv2.4.8 下载: vs2010 http://opencv.org/ 步骤: http://my.phirobot.com/blog/2014-02-opencv_conf ...

  2. Django值聚合,分组,事物,cookie,session

    1,聚合(aggregate):是queryset的一个 终止语句,它返回一个包含键值对的字典,键是的名称是聚合值的标识符,值是计算出来的聚合值,键的名称是按照字段和聚合函数自动生成出来的.用到的内置 ...

  3. Android Studio集成Genymotion 及Genymotion 配置ADB

    1.打开 Android Studio,依次[File]-[Settings],快捷键  Ctrl + Alt + S 2.在打开的 settings 界面里找到 plugins 设置项,点击右侧的“ ...

  4. qemu-kvm磁盘读写的缓冲(cache)的五种模式

    qemu-kvm磁盘读写的缓冲(cache)模式一共有五种,分别是writethrough, wirteback, none, unsafe, directsync当你对VM读写磁盘的性能有不同的要求 ...

  5. UICollectionView与UITableView混用手势冲突

    前言 最近在重构某个模块,以后别人封装的所谓的基类就像一坨死一样,看见就恶心,相信同行的你们能够明白那种心情.为什么要重构?并不是真的因为它像一坨死,而是因为这个模块是用户使用最频繁的,而且出现了不少 ...

  6. Masonry复杂ScrollView布局

    前言 说到iOS自动布局,有很多的解决办法.有的人使用xib/storyboard自动布局,也有人使用frame来适配.对于前者,笔者并不喜欢,也不支持.对于后者,更是麻烦,到处计算高度.宽度等,千万 ...

  7. BZOJ_4199_[Noi2015]品酒大会_后缀自动机

    BZOJ_4199_[Noi2015]品酒大会_后缀自动机 Description 一年一度的“幻影阁夏日品酒大会”隆重开幕了.大会包含品尝和趣味挑战两个环节,分别向优胜者颁发“首席品 酒家”和“首席 ...

  8. Outlook 2007 发送邮件

    4 登入以投票 Hi, http://social.msdn.microsoft.com/Forums/zh-TW/6c063b27-7e8a-4963-ad5f-ce7e5ffb2c64/how-t ...

  9. math.floor()函数的用法

    floor() 返回数字的下舍整数. 语法 以下是 floor() 方法的语法: import math math.floor( x ) 注意:floor()是不能直接访问的,需要导入 math 模块 ...

  10. css content

    before after demo 1 添加描述信息 div1:after{conent:"天假额外的文字"} 2 也可以显示元素的某些属性 <a class="d ...