android基础学习之activity(一)

1. Activity:一个Acticity是一个应用程序组件,提供一个界面(屏幕)。
它是 android 应用程序的基本功能单元。Activity 本身是没有界面的。所以activity类创建了一个窗口,开发人员可以通过setContentView(View)接口把UI放到activity创建的窗口上,当activity指向全屏窗口时,activity是单独的,用于处理用户操作。
一个应用程序中有多个Activity,这些Activity组成了Activity栈(Stack),当前活动的Activity位于栈顶,之前的Activity被压入下面,成为非活动Activity,等待是否可能被恢复为活动状态。
Activity的四个重要状态:
(1) 活动状态:当前的Activity,位于Activity栈顶,用户可见,并且可以获得焦点。
(2) 暂停状态:失去焦点的Activity,仍然可见,但是在内存低的情况下,不能被系统的killed(杀死)。
(3) 停止状态:该Activity被其他Activity所覆盖,不可见,但是它仍然保持所有的状态和信息,当内存低的情况下,它将要被系统skill(杀死)。
(4) 销毁状态:该Activity结束,或Activity所在的Dalvik进程结束。
1.1 Activity的生命周期
包括:
onCreate():创建Activity时调用。
onStart():启动Activity是被调用,也就是当一个Activity变为显示时被调用。
onRestart():重新启动Activity时被调用,该方法总时在onStart()方法以后执行。
onPause():暂停Activity时被调用(该方法需要被执行的非常迅速,因为直到该方法执行完毕后,下一个Activity才能被恢复),在次方法中通常用于持久保存数据。
onResume():当Activity由暂停状态恢复为活动状态时被调用。调用该方法后,该Activity位于栈顶。该方法总是在onPause()之后执行(这句话要理解为必须是Activity初次被创建的情况除外)。
onStop():停止Activity时被回调。
onDestory():销毁Activity时被调用。
这里写图片描述
打开一个应用(显示):
这里写图片描述
显示其它应用(不可见):
这里写图片描述
恢复显示:
这里写图片描述
退出该应用:
这里写图片描述

(1) 一个Acticity的正常启动过程:onCreate创建一个Activity ——> onStart() ——> onResume();当Activity被kill掉时调用的方法顺序是:onPause() ——> onStop() ——> onDestory().以上为一个完整的生命周期。
(2) 当Other applications need memory(中断)时,则是:onPause() ——> onStop(),恢复时:onRestart() ——> onStart() ——> onResume();

1.2 启动Activity和关闭Activity
startActivity(Intent intent);//启动Activity
在Android中启动Activity的标准Activity动作最常见的:ACTION_MAIN和ACTION_EDIT。
-》在Intent对象中的动作使用setAction()方法设置,使用getAction()方法获取。
finish();//关闭Activity
1.3 横竖屏之间变换时Activity的变化(生命周期)
原理就是在横屏变为竖屏时,先销毁横屏在重新创建一个合适的竖屏Activity,所以需要设置2个layout.xml布局文件。

2. 用Intent在Activity之间的通信(传数据):Intent是系统各组件之间数据传递的负载者
Android中通过Intent对象来表示一条信息,Intent主要负责对操作的动作、动作涉及的数据、附件数据进行描述(装起来),Android则根据Intent
的描述,负责去找对对应的组件,将Intent传递给调用的组件,并完成组件之间的调用。
所以在用Intent传递信息时,Intent是作为一个“中介”作用,专门提供组件互相调用的相关信息,实现调用者和被调用者之间的解耦。
//将数据存入到Intent对象中
Intent intent = new Intent();
intent.putExtra(String key, XXX Value);

//获取Intent中的数据
Intent intent = getIntent();
XXX Value = intent.getXXXExtra(String key);//XXX表示传入数据的类型(int,String等等)

下一篇则是讲解Intent两种调用方法:显示调用和隐式调用

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一只打杂的码农

你的鼓励是对我最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值