Android的四大组建Activity 简单、易懂的解析

                                  Android的四大组建Activity 简单、易懂的解析


     

1. Android 四大组件

1.1 Activity 界面
一个Activity类可以用于描述一个界面的样式
一个Activity对象就是一个界面


声明:
三大要素:
1.声明的类要继承与Activity
2.重写onCreart()方法,调用setContentView()关联一个布局文件。
3.在清单文件中声明
注意: 如果类所在的包跟当前应用程序包名一致,包名可以省略。

应用程序的第一个界面:
在清单文件下 activity设置如下过滤条件:
1.1.2 打开一个新的界面
关闭界面(在界面中)(back键)

1.1.3 界面间的信息传递
A --- > B

A: 打开B界面的时候设置要传递的信息



B: 在需要获取信息的地方获取意图并提取信息:

1.1.4 A --- > B ---- >A

(1) A界面打开B界面传递消息过程,并等待B界面返回消息

(2) B接收消息:
时机: 界面一打开就获取消息,所以在onCreate()写
B界面设置要返回的消息,并关闭界面


(3) A界面接收B界面返回的消息,并处理
重写onActivityResult()方法,在该方法中描述要处理的过程。

请求码的作用:
使用场景:
A界面上有多个不同的按钮可以打开不同的界面,并且都要等待不同界面返回消息。并且每个界面返回的消息在A界面处理的方式都不一样,A界面只有一个onActivityResult()方法处理,怎么在这个方法中识别是哪一个界面。
解决: 使用请求码
在打开不同界面的时候传递不同的请求码,当消息返回的时候这些请求码会被返回,根据返回不同的请求码就可以知道是打开哪一个界面。


结果码:
使用场景:
A界面打开B界面并等待B界面返回消息,但是B界面上有多个按钮可以关闭界面并返回消息,而且不同按钮返回的消息在A界面上面处理的方式不一样,怎么在onActivityResult()中识别?
解决: 使用结果码
在不同按钮关闭界面返回消息时。设置不同的结果码,在
onActivityResult()中根据不同的结果码就可以识别是点击B界面的哪一个按钮返回的消息。
B界面:

A界面:
2.Activity的生命周期
生命周期: Activity从创建到销毁经历的状态
目的: 了解Activity的生命周期,才能知道Activity在什么时机下调用什么方法,了解这些才能在正确时机下去做我们想要做的事情。

sdk安装包\docs\images\activity_lifecycle.png
1. 创建 ----> 运行 (可见可以操作)
onCreate() ---> onStart() ----> onResume()

2. 运行 -----> 销毁
onPause() ----> onStop() ---> onDestroy()

3. 运行 -----> 停止 (不可见 不可操作)
onPause() ----> onStop()
4. 停止 ----> 运行
onRestart() ---> onStart() ----> onResume()

5. 运行 -----> 暂停 (可见 不可操作)
onPause()
测试: 在清单文件中设置要打开的界面主题为对话框风格、
6. 暂停 ---- > 运行
onResume()

7. 当activity处于暂停或者停止状态的时候,如果其他更高优先级的进程需要内存的时候,当前Activity所在的进程就有可能被杀死掉

-----------------------------------------------------------------------------------------
activity之间通信-请求码结果码的使用代码:


----------------------------------------------补充--------------------------------------------------
Activity生命周期的应用场景 (举例说明)

场景: 在Activity上填写信息,如果此时有另外一个应用程序被打开,那么当前Activity就处于停止状态,一旦处于停止状态,其他更高优先级的进程需要内存的时候,当前Activity就有可能被杀死掉,一旦被杀死掉所有数据清空,下次打开又是一个新的Activity,上次的信息就不会被保存下来。

问题(需求):Activity即使被杀死,我们也希望上面的数据可以保存起来,下次打开一个新的Activity的时候把保存的数据还原回去,那么就跟前面的显示效果一样,用户体验就会更好

解决: 数据持久化
内存上的数据是临时的,一旦保存在外存的化就可以永久保存起来。
涉及问题:
1.Activity的生命周期
在什么时机下保存数据:
界面销毁之前保存数据:
onPause() onStop() onDestroy()
一般在 onStop()中保存数据

在什么时机下恢复数据:
界面显示之前恢复数据:
onCreate() onStart() onResume()
一般在 onStart()中恢复数据
2. 数据持久化的方式(保存在外存)
IO流读写 (SDCard)
3. 权限
Android的安全机制:
如果应用程序要使用系统的服务或者部分硬件的时候,必须申请权限,如果没有申请权限的话就使用不了对应功能。

申请读写SDCard的权限:

实现:
1. 申请权限
2. 确定要保存的路径


3.数据多的化要封装成对象,做对象流存储

4. 在onStop()中保存数据

5.在onStart()中恢复数据


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值