Activity的回调机制---学习笔记

回调的解释:

回调在实现具有通用性质的应用架构是非常常见:对于一个具有通用性质的程序架构来说,程序架构完成整个应用的通用功能,流程,但在某个特定的点上,需要一段业务相关的代码—通用的程序架构无法实现这段代码,那么程序架构会在这个点上留一个”空“。

以上是参考书中的说法,按照个人理解说的话,其实就是:别人写好了一个程序中的方法(这个方法中的内容以及业务是程序员根据自己的需求来写的),以及调用该方法的一些业务逻辑,在这些业务逻辑中触发该方法的时机就是回调。

在特定的某个点上留空可以用如下这两种方式实现:

1.以接口的形式存在:该接口由开发者实现,实现该接口时将会实现该接口的方法,那么通用的程序架构就会回调该方法来完成业务相关的处理。

2.以抽象方法(也可以是非抽象方法)的形式存在:这就是Activity的实现形式。这些特定的点上的方法已经被定义了,入onCreate(),onActivityResult()等方法,开发者可以选择性的重写这些方法,通用的程序架构就会回调该方法来完成业务相关的处理。

应用到回调的地方:

1.我们在Activity中定义的组件,为组件添加监听器,这些监听器也就是回调。

2.Activity的生命周期中的onCreate(),onStart(),onResume(),onPause(),onStop,onDestory()这些方法也是写回调方法。

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-07-30 20:20:06

Activity的回调机制---学习笔记的相关文章

Android Activity和Intent机制学习笔记

Activity Android中,Activity是所有程序的根本,所有程序的流程都运行在Activity之中,Activity具有自己的生命周期(见http://www.cnblogs.com/feisky/archive/2010/01/01/1637427.html,由系统控制生命周期,程序无法改变,但可以用onSaveInstanceState保存其状态). 对于Activity,关键是其生命周期的把握(如下图),其次就是状态的保存和恢复(onSaveInstanceState onR

【转】Android Activity和Intent机制学习笔记----不错

原文网址:http://www.cnblogs.com/feisky/archive/2010/01/16/1649081.html Activity Android中,Activity是所有程序的根本,所有程序的流程都运行在Activity之中,Activity具有自己的生命周期(见http://www.cnblogs.com/feisky/archive/2010/01/01/1637427.html,由系统控制生命周期,程序无法改变,但可以用onSaveInstanceState保存其状态

JAVA的反射机制学习笔记(二)

上次写JAVA的反射机制学习笔记(一)的时候,还是7月22号,这些天就瞎忙活了,自己的步伐完全被打乱了~不能继续被动下去,得重新找到自己的节奏. 4.获取类的Constructor 通过反射机制得到某个类的构造器,然后调用该构造器创建该类的一个实例 Class<T>类提供了几个方法获取类的构造器. public Constructor<T> getConstructor(Class<?>... parameterTypes) 返回一个 Constructor 对象,它反

C++面向对象—成员函数与成员变量的实现机制学习笔记(1)

<深度搜索C++对象模型>的一些学习纪要: 原文链接:ordeder   http://blog.csdn.net/ordeder/article/details/26396989 一成员变量篇 0. 类的编译中,先编译成员变量和成员函数的额声明,成员函数的定义在类声明结束后再处理: 1. 类中,多个代码区块public或者private最终会被按区块统一,然后编译过程中,后定义的成员变量地址高于定义的成员变量: 2. 静态变量在程序启动时初始化,存储的位置在于程序的全局数据段中: 3. 继承

Android知识体系梳理笔记三:动态代理模式---插件加载机制学习笔记

静态代理模式 静态代理模式就是我们常说的代理设计模式,我们采用一个代理类调用原有的方法,且对产生的结果进行控制:举个例子:我们现在在玩一款网络游戏,需要打怪升级:太累就找个代理吧,一觉醒来就会发现我们已经当上CEO,迎娶白富美,天下第一了! 本来我们只能打怪,打怪-,但经过代理类增强,我们不仅可以打怪,还可以升级拿装备.就这样子了! 上代码: * 同一功能接口 public interface PlayNetGame { String beatMonster(); } 1 2 3 4 1 2 3

Thinking in Java---类型信息和java反射机制学习笔记

前面学习的多态给了我们一个很好的承诺:我们编写的代码只要与基类打交道,而不用为每一个新增加的子类写一份代码.但是这种思想在我们想要访问子类自己定义的方法时,就会有问题了.如下面的代码所示: class Base1{ void f(){ System.out.println("Base.f()"); } } class Sub extends Base1{ void f(){ System.out.println("Sub.f()"); } void g(){ Sys

Linux音频ALSA机制学习笔记&lt;一&gt;

首先宏观看内核暴露给上层的接口: [email protected]:/ # cat /dev/snd/ controlC0 pcmC0D10p pcmC0D13c pcmC0D15c pcmC0D2c pcmC0D3c pcmC0D5p pcmC0D8c pcmC0D0c pcmC0D11p pcmC0D13p pcmC0D15p pcmC0D2p pcmC0D3p pcmC0D6c pcmC0D9c pcmC0D0p pcmC0D12c pcmC0D14c pcmC0D1c pcmC0D31

Linux音频ALSA机制学习笔记&lt;二&gt;

首先是dapm是什么?就是音频电源动态管理.相信电源管理大家都不会陌生.dapm设计的目的就是只有需要时才打开必要的部件 (widget),不需要时则关闭部件, 达到省电的目的.ALSA通过kcontrol来切换音频通道,当playback或者capture时会更新通道激活下 的widget power,这个是由内核event统一完成的,无须上层干预. <一>widget 定义widget static const struct snd_soc_dapm_widget tabla_dapm_w

JavaSPI机制学习笔记

最近在阅读框架源代码时,常常看到 SPI 的子包, 忍不住查了下: Service Provider Interface : 服务提供接口. JavaSPI 实际上是“基于接口的编程+策略模式+配置文件”组合实现的动态加载机制.具体而言: 1. 定义一组接口, 假设是 autocomplete.PrefixMatcher: 2. 写出接口的一个或多个实现(autocomplete.EffectiveWordMatcher, autocomplete.SimpleWordMatcher): 3.