Android之旅三Activity详解

1、Android系统中Activity提供可视化的用户界面,一个Android应用通常由多个Activity组成,多个Activity组成了Activity栈,当前活动的Activity处于栈顶,Activity有自己的生命周期,由Android系统控制。

2、Activity上面是一个Window对象,Window上面通常是一个布局容器兑现Layout,再上面是我们要展示的组件,如按钮、文本框等。

3、 Activity的方法的回调思想

从上面的代码我们可以看出:接口(系统框架)是系统提供的,接口的实现是用户实现的。达到接口统一,实现不同的效果,系统通过在不同状态下回调我们的实现类,达到接口和实现的分离。

4、 Activity的创建:

5、 启动另一个Activity:一个Activity启动另一个Activity,我们可以使用startActivity()或者startActivityForResults()方法(能返回结果),这两个方法中的一个最重要的参数是一个很重要的组件IntentIntent是相同或者不同组件的信使。

6、 Activity之间的数据传递:在java web中我们把数据放在scope中,例如使用sessionrequest等,在android中我们使用Bundle对象,我们将要传递的信息封装到这个对象里面,通过Intent对象传递到另一个Activity中。

我们将信息放入Bundle中,并通过Intent组件传递给另一个Activity

在另一个Activity中获得数据:

7、 启动另一个Activity并返回结果,例如在注册信息的时候用户填上一步和下一步,当用户点击上一步,信息的保存:

下一个Activity

8、 Activity的声明周期:在Android系统中,Activity作为Activity栈被管理,当前活动的Activity处于栈顶,之前非活动的Activity被压入下面成为非活动的Activity,等待是否可能被恢复为活动状态。

Activity中四个重要的状态:

Activity的生命周期可分为一下三个过程:

整个完整的生命周期:从onCreate()方法开始到onDestory()方法结束

可见生命周期:从onStart开始到onStop结束

前台可见生命周期:从onResume()方法开始到onPause()方法结束

Activity各种状态及方法调用时机:

 

注意:如果一个activity完全被另一个activity所掩盖那他会处于stop状态。但仍然保存着原来的状态和信息。然而,如果别的地方需要更多的内存而且这个activity仍一直处于隐藏状态,那么系统有可能会杀死他的进程。如果一个activity是暂停或者停止状态,系统可以清理他们占用的内存,或者调用finish()方法,或者直接结束他的进程。当他再次显示给用户时,会完全的重新运行并且加载以前所存储的信息。

更多相关文章
  • Android四大组件之Activity详解
    .Activity的本质 Activity是Android提供的四大组件之一,是进行Android开发必不可少的组件.Activity是一个界面的载体,可以把它与html页面进行类比,html页面由各种各样的标签组成,而Activity则可以由各种控件组成.然而Activity也并不是那么简单.查看 ...
  • Android不规则点击区域详解
    Android不规则点击区域详解 摘要 今天要和大家分享的是Android不规则点击区域,准确说是在视觉上不规则的图像点击响应区域分发. 其实这个问题比较简单,对于很多人来说根本不值得做为一篇博文写出来,但在我的群里确实有童鞋不了解如何实现并且很想知道完整的流程是什么样的,故完成demo作为参考. ...
  • android瀑布流的实现详解,附源码
    android 瀑布流的实现详解,附源码 介绍 参考自:https://github.com/dodola/android_waterfall,因为原来的代码封装不好,所以,我根据源码的思路,重新写了一遍,所以有了现在这个项目:https://github.com/youxilua/waterfal ...
  • 三张图片详解Asp.Net全生命周期
    用三张图片详解Asp.Net 全生命周期 下面我们使用三张图片解析ASP.net的整个生命周期,我总感觉使用图片更加的清楚的说明这种问题,所以使用的这样方式 说明: 1  第一张图片从全局说明从客户端发出一个Request请求,服务器windows内核中的HTTP.SYS组件接收该请求开始到IIS处 ...
  • Activities(活动)作为android四大组件之一,掌握理解它是非常关键的.Activity是android的显示界面,类似于swimg的JFrame.我们很容易看出android的程序表面上就是不同Activity的切换,切换到不同Activity是通过Intent来实现,稍后会详细介绍. ...
  • Android热门网络框架Volley详解
    .Volley简介 volley的英文意思为‘群发’.‘迸发’.Volley是2013年谷歌官方发布的一款Android平台上的网络通信库.Volley非常适合一些数据量不大,但需要频繁通信的网络操作.使用Volley进行网络开发可以使我们的开发效率得到很大的提升,而且性能的稳定性也比较高.但是Vo ...
  • 一.LocationManagerLocationMangager,位置管理器.要想操作定位相关设备,必须先定义个LocationManager.我们可以通过如下代码创建LocationManger对象.[java] view plaincopyprint?LocationManger locati ...
  • 深入浅出Spring三AOP详解
     上次的博文深入浅出Spring(二) IoC详解中,我为大家简单介绍了一下Spring框架核心内容中的IoC,接下来我们继续讲解另一个核心AOP(Aspect Oriented Programming),即面向切面编程. 1.OOP回顾        在介绍AOP之前先来回顾一下大家都比较熟悉的O ...
一周排行
  • 常见服务器硬件构成
    一.首先是内存二.cpu(处理器)三.硬盘四.主板五.(UPS)不间断供电系统六.网卡七. ...
  • 数据绑定在Silverlight中由Binding类实现.Binding类有2个组成部分,source和target,还有一个定义两者绑定方式的属性叫做binding mode,mode定义了数据怎么样在source ...
  • WordPress优化:修改文章标签为彩色标签
    一 介绍如题所示,没改样式之前是这样的:改了样式之后显示的效果是这样的:       关于 ...
  •      在前面一篇文章中我探讨了下在IE浏览器的情况下使用前端日志,但我们知道很多人不使用IE作为默认浏览器.      下面探讨下在高版本chorme浏览器里的日志存储和发送.       由于chorme浏览器 ...
  • 12306用户名密码泄露,这回貌似是躺枪
    12306用户信息泄露,包含大量用户名.明文密码.验证邮箱等.乌云平台上看到的消息,详见h ...
  • 路由器交换机远程登录配置实验
    一实验目的学习如何配置路由器的gatway.Console.vty.enable pass ...
  • 0. hostname:  PXES.demopxe.comip:192.168.195.1/24 gw:192.168.195.254 dns:192.168.195.21.install setuptool[ro ...
  • 虚拟化安全解决方案vShieldEndpoint之DeepSecurityManager9.0SP1部署测试
    五.将 vCenter 添加到趋势科技服务器深度安全防护系统管理中心的被管理计算机列表.六 ...
  • 正在找解决办法 [[email protected] opt]# mysqldump --all-database -u root -p > /opt/alldb_bak.dumpEnter password: mysqldum ...
  • sphinx使用笔记
    一.sphinx简介 Sphinx简单来说,是一个文档生成工具.用于把reStructur ...