一、如何在一个应用程序中定义多个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. showModalDialog参数问题

    showModalDialog传递参数: 1.参数拼接放在url中,参数过长或带特殊字符时,容易出现问题. 2.参数放在showModalDialog属性里 <script type=" ...

  2. iOS开发中正则式的使用

    iOS开发中正则式的使用 第一:常规的使用方式 NSString *str = @"abcded111093212qweqw"; //找到内部一个即可 NSString *patt ...

  3. flask 文件下载 文件服务器 请求参数 函数修饰符

    180M电子书 通过已经下载到pc,在上传到私有公网服务器,之后,再异地下载 以下代码,文件内容错乱 [root@bigdata-server- mydataweb]# tree . ├── mydl ...

  4. C#函数3递归

    using System;using System.Collections.Generic;using System.Linq;using System.Text; namespace Console ...

  5. bzoj3389

    3389: [Usaco2004 Dec]Cleaning Shifts安排值班 Time Limit: 1 Sec  Memory Limit: 128 MBSubmit: 367  Solved: ...

  6. Python sklearn Adaboost

    1. Adaboost类库概述 scikit-learn中Adaboost类库比较直接,就是AdaBoostClassifier和AdaBoostRegressor两个,从名字就可以看出AdaBoos ...

  7. jQuery easyui datagrid pagenation 的分页数据格式

    {"total":28,"rows":[    {"productid":"FI-SW-01","unitco ...

  8. TCP、UDP和HTTP关系

    TCP/IP是个协议组,可分为三个层次:网络层.传输层和应用层.IP:网络层协议: TCP和UDP:传输层协议:TCP提供有保证的数据传输,UDP不提供. HTTP:应用层协议(超文本传输协议): 如 ...

  9. mysql同步延迟导致的问题

    前几天又遇到一个mysql读写分离的坑, 在将数据写入master后,因为存在同步延迟,所以如果立马去从库查询刚刚插入的数据可能会出现查询不到数据的情况, 解决办法:强制从主库读取数据,将插入和查询放 ...

  10. Silverlight 后台利用代码触发 Button 的Click事件

    页面上一个查询按钮,当用户点击 回车键 的时候 处罚查询按钮的onclick事件 public MainPage() { InitializeComponent(); this.KeyDown += ...