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 ...
一周排行
  • Exchange工具03—ExchangeMonitorTool
    从下面的地址可以下载该工具,这个工具可以支持到exchange server 2010版本 ...
  • 我和PC共同成长的17年——为何走上IT这条不归路
    看完<微型计算机>30周年特刊,无数回忆喷涌而出.为了这份情结,偷偷摸摸的用手 ...
  • 网络的结构学习P2P定义:P2P(Peer to Peer)对等计算机或对等网络.P2P的核心是数据存储在客户本地,通过存储信息(名称.地址.分块)的查询,让终端之间直接数据传递.P2P网络让网络上的数据流量分散化, ...
  • WindowsAzurePackv1部署之网站云控制配置
    上节做到网站云控制角色安装,接下来我们进行网站云控制的配置打开网站云控制配置网页接下来输入 ...
  • 给VC++6.0加快捷注释和取消注释
    首先在根目录下找到你的vc++6.0,我的是在c盘的一个叫MSDev98的文件夹里,打开文 ...
  • 目录 [1]创建计数器[2]使用计数器 [3]DEMO 前面的话 我们对计数器已经不陌生了,有序列表中的列表项标志就是计数器. 创建计数器 创建计数器的基础包括两个方面,一是能重置计数器的起点,二是能将其递增一定的量 ...
  • VPN(Virtual Private Network)是虚拟专用网络,OpenVPN 是一个基于 OpenSSL 库的应用层 VPN 实现.linux下openvpn 服务的搭建首先需要下载软件包lzo-2.03. ...
  • 说明:    显然Python中字典的学习过程与列表是一样的,主要是围绕下面的函数来进行重点学习:>>> xpleaf. xpleaf.clear( xpleaf.copy( xpleaf.get( ...
  • shell脚本学习笔记之sed命令用法sed基本用法sed:stream editor     行编辑器sed:模式空间 将匹配的文本内容储存到模式空间中默认不编辑原文件,仅对模式空间中的数据做处理,而后,处理结束后 ...
  • 写在前面:Application Not Responding.在Android上,如果你的应用程序有一段时间响应不够灵敏,系统会向用户显示一个对话框,这个对话框称作应用程序无响应(ANR:Application N ...