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 ...
一周排行
  • 整理了MSSQL部分补丁的列表及下载地址(截至-22),供参考下.与人方便,与己方便.欢迎补充!EditionVersionDate PublishedDownload LinkSQL Server 20 ...
  • 在写一个接口,返回的json里面有图片,是Base64编码的字符串. 测试接口的时候,发现原来在html显示,是直接可以将Base64编码的字符串显示成图片的. 格式如下: <img src=data:imag ...
  • 关于LSI 2208阵列卡默认未启用JOBD模式,如何进行配置为JBOD模式1.服务器开机按Ctrl+Y 进入到 BIOS preboot CLI界面2.输入命令: $ AdpGetProp enablejbod - ...
  • IS-IS路由器类型和邻接关系试读连载四
    以下内容摘自笔者即将上市的新书——<路由器配置与管理完全手册——Cisco篇> ...
  • 和其他所有数据库一样,权限的管理都差不多一样.mongodb存储所有的用户信息在admin 数据库的集合system.users中,保存用户名.密码和数据库信息.mongodb默认不启用授权认证,只要能连接到该服务器 ...
  • 开着爱车与您的家人朋友一起分享                       --每辆车100元     顺着幽静的小路和靓丽霓虹灯的指引,进入繁星.明月.树影映衬的电影广场,几幅巨型银幕和美轮美奂的电影本影院特点:一 ...
  • 系统:win8.1 winrar: 5.31 x64 C:\WINDOWS\system32\config\systemprofile\Desktop位置不可用. 解决: 在C:\Windows\System32\c ...
  • 使用vmware上网的几种方式
    Vmware这款软件相信玩系统的都不陌生,不过,我相信就算玩Vmware有很长时间的人,对 ...
  • 呵呵... 开始  找数据库 方法说一下啦```
  • 两千行PHP学习笔记亲们,如约而至的PHP笔记来啦~绝对干货!以下为我以前学PHP时做的笔记,时不时的也会添加一些基础知识点进去,有时还翻出来查查.笔记是在PHP代码文件中敲的,所以有颜色高亮...绝对原创,欢迎转载 ...