资 讯

网站建设、app开发、微信开发、网络营销知识汇聚

We provide professional and all-round information services to enterprises from all levels and angles

app开发四大组件之-Activity
admin 2018-09-04

本节介绍Android app开发四大组件之-Activity的基 本概念和常 见用法。首先说明Activity的生命周期,接着说明Intent的组成部分与工作原理,然后阐述如何使用Intent完成活动页面之间的消息传递,包括如何传递请求参数、如何返回应答参数

      3.5.1 Activity的app制作生命周期

      看到这里,相信读者对Activity已经不陌生了。首先,一个Activity代表一个页面。其次,Activity的onCreate方法是页面的入口函数。更细心的读者也许已经知道调用startActivity方法可以跳转到下一个页面。之所以到这时才介绍Activity,是因为Activity的逻辑复杂、概念繁多,必须在有一定基础后讲解才合适,不然一开始就讲解高深的专业术语,读者恐怕很难理解。

      首先介绍Activity的生命周期,如同花开花落一般 ,Activity也有从含苞待放到盛开再到凋零的生命过程。下面是Activity与生命周期有关的方法说明。

      onCreate:创建页面。把页面上的各个元素加载到内存中。onStart:开始页面。把页面显示在屏幕上。

      onResume:恢复页面。让页面在屏幕上活动起来,例如开启动画、开始任务等。

      onPause:暂停页面。让页面在屏幕上的动作停下来。onStop:停止页面。把页面从屏幕上撤下来。onDestroy:销毁页面。把页面从内存中清除掉。

      onRestart:重启页面。重新加载内存中的页面数据。

      下面针对几个常见的上海app制作场景探究一下Activity的生命周期,主要有3个场景:页面之间的跳转、竖屏与横屏的切换、按HOME键与返回App。用于场景测试的代码如下,主要在每个生命周期函数中增加打印屏幕日志和后台日志。



F1e4saXUO : (GT&a)4TA49Vdupv/a :zSL*ot:o8:TE
asneduo : (StEz)4quAq0V4XaNoV/a : otl'ot:oE:I
:业哗罕日oAoqsequO- -do1suo咀互一⊥←eumnseyuo -4IE1SUO -ITE1SYUO
里逆↓一T←esneduo里空V-⊥:华岑驯辛4号甾郾“(笑$ystuyE鹞!中战外玷算科回)41A90vdunfpv适回4IAqOV7XaNPVW
doasuo :(StEz)4A.qDvdunpov/a :9rEE:oE:trauunseyuo :(StEz)/4AqOV7XeN4DV/a :889'zE:oE:tT
ITESUO :(StEz)4q!AqDV7XaNI0V/a : 889'zE:oE:tta1eaJuo :(StEz)44AqPVXaNPDV/a :889*z8:oE:ttasneauo :(SrEz)4qAqovdumpv/a : 899'zE:oE:tT
:⊥哗罕日。do4suo哩空ψ-T←ouns∞Y∪O←4-IEASUO→042≥1D∪0哩亚少一⊥←-asneduo里至V- T :以岑驯释与宙郾! :4A4V7XNPV恬胞2A4A4vdumPVW
auunseyuo :(SrEz)4qa1qvdumnqpv/a :zS&*gT:oE:TT
lIe1SuO : (StEz)A4x.q0vdunf4ov/a :zSE^gT:oE:TTaleaJJuo :(StEz)4qA.qvdumnpov/a :zSE*gT:oE:tt
:哗罕日。aunsayuo 4IE1SUO -1ea1Ju0型並平:乐掣驯啡举4宙副! :fqlAqDvdum4V哩逆世年¥具

。7+[手第判陲但!中4(垦垦‘罕日面4eo8o[业一$!徘里。蟊兰鹞业冒导罕日日平晋真业‘丌凱$里单V- T到朴秉啕啡哩逆- 业‘矮垦 Y旦图簿罕曰W
。辞平(瞬留婴手邱440vdun4v回虱半¥4风‘ 辞平!瞬囝婴手EF41AqDV4XONOV恬钟貂半肇碗8‘ 辞平!瞬留竖手以4APDvdunqpv里逆Y那半举槲冈‘中其。半卵0z-E图哗图肄罕日泊于里笛。 AqAqovduv回@-4q4A40V7XANPV*W当淄'.4q4AqOV7X3NPV适辣船里逆染W垦舞:Auxp2vdunqV型 逆其!证X形¥具





      图3-21活动贞 面在横竖屏切换时的界面日志截图

      至此,基本上可以弄清楚页面跳转时的生命周期了。总体上是跳转前的页面先周用onPause方法,然后跳转后的页面依次调用

      onCreate/ onRestart- +onStart- +onResume, 最后跳转前的页面调用onStop方去(若返回上级页面,则下级页面还需调用onDestroy方法)。

      2.竖屏与横屏的切换

      首先进入测试页面ActRotate Activity,此时默认为竖屏显示;接着倒转手机切换到横屏,观察日志;然后倒转手机切换回竖屏,观察日志。3个屏幕的显示日志时间没有重复,这里的日志截图是3次截图拼接而成的,如图3-21所示。

      从日志截图可以看出,竖屏与横屏似乎在每次切换时页面都要重新创建。为进一步验证实验结果,再一次查看logcat里的日志, 日志信息如下:

      21:02:10.179 D/ActRotateActivity: onCreate21:02:10.179 D/ActRotateActivity: onStart21:02:10.179 D/ActRotateActivity: onResume21:02:13.227 D/ActRotateActivity: onPause21:02:13.227 D/ActRotateActivity: onStop21:02:13.227 D/ActRotateActivity: onDestroy21:02:13.247 D/ActRotateActivity: onCreate21:02:13.247 D/ActRotateActivity: onStart21:02:13.247 D/ActRotateActivity: onResume21:02:16.239 D/ActRotateActivity: onPause21:02:16.239 D/ActRotateActivity: onStop21:02:16.239 D/ActRotateActivity: onDestroy21:02:16.279 D/ActRotateActivity: onCreate




      图3-22按HOME键的上海app制作公司界面日志截图

      首先进入测试页面ActHomeActivity;接着按HOME键,屏幕回到桌面;然后按任务键或长按HOME键(不同手机的操作不一样),屏幕调出进程视图;最后点击则试App,屏幕返回测试页面。一路下来的屏幕日志截图如图3-22所示。

      从日志截图可以看到,此时测试页面的生命周期是典型的从活动状态变为暂停状态(回到桌面时)再到活动状态(返回App页面时)。观察logcat的后台日志,发现后台日志与屏幕日志保持一致。3.5.2  使用Intent传递消息

      Intent的中文名是意图,意思是我想让你干什么,简单地说,就是传递消息。Intent是各个组件之间信息沟通的桥梁,既能在Activity之间沟通,又能在Activity与Service之间沟通,也能在Activity与Broadcast之间沟通。总而言之,Intent用 于处理Android各组件之间的通信,完成的工作主要有3部分:

      (1)Intent需标明本次通信请求从哪里来、到哪里去、要怎么走。

      (2)发起方携带本次通信需要的数据内容,接收方对收到的Intent数据进行解包。

      (3)如果发起方要求判断接收方的处理结果,Intent就要负责让接收方传回应答的数据内容。

  • 上一篇:网站app开发的Button控件
  • 下一篇:已经没有了
  • © 2011-2018 www.keyrey.com 上海科睿网络科技有限公司 © 版权所有 沪ICP备12032097号-1
    友情链接 : 上海app开发 app开发公司 app制作 手机软件开发 手机软件开发公司 小程序开发 上海网站制作公司
    QQ在线咨询

    上海app开发QQ在线咨询 上海app开发QQ在线咨询
    电话咨询
    400-877-9280 app开发公司电话咨询
    即时在线咨询 手机软件开发即时在线咨询
    微信扫一扫
    添加app制作微信 上海网站制作公司微信
    科睿网络-互联网开发营销专家

    凡事有交代 件件有着落 事事有回应

    立即获取为您量身定制的开发营销方案

    咨询热线 400-877-9280