android下的回调机制 分享
来源:互联网 发布:只有我知3三小时完整版 编辑:程序博客网 时间:2024/04/29 19:55
回调机制在Android框架中的使用
这里有几个例子:
1、在Activity中定义了很多生命周期的不同状态要调用的方法,这些方法都是空实现,系统框架要调用,用户也要调用来实现。
实例(对于Android界面上Button点击事件监听的模拟):
a.定义接口
- public interface OnClickListener {
- public void OnClick(Button b);
- }
b. 定义Button
- public class Button {
- OnClickListener listener;
- public void click() {
- listener.OnClick(this);
- }
- public void setOnClickListener(OnClickListener listener) {
- this.listener = listener;
- }
- }
c. 将接口对象OnClickListener 赋给 Button的接口成员
- public class Activity {
- public Activity() {
- }
- public static void main(String[] args) {
- Button button = new Button();
- button.setOnClickListener(new OnClickListener(){
- @Override
- public void OnClick(Button b) {
- System.out.println("clicked");
- }
- });
- button.click(); //user click,System call button.click();
- }
- }
2、在Activity中定义了很多生命周期的不同状态要调用的方法,这些方法都是空实现,系统框架要调用,用户也要调用来实现。
实例(对于Android界面上Activity的模拟):
a.定义接口
- public interface Activity{
- public void onCreate();
- .....
- public void onDestory();
- }
b. Activity接口的实现类MyActivity
//定义一个类实现Activity接口
- public calss MyActivity implements Activity{
- @Override//实现方法,简单输出
- public void onCreate(){
- System.out.println("onCereate");
- }
- .....
- @Override//实现方法,简单输出
- public void onDestory(){
- System.out.println("onDestory");
- }
- }
c.系统运行环境类AndroidSystem
- //系统运行安装类
- public class AndroidSystem{
- //定义常量
- public static final int CREATE=1;
- ....
- public static final int DESTORY=2;
- //运行方法
- public void run(Activity a,int state){
- switch(state){
- case CREATE:
- a.onCreate;
- break;
- ....
- case DESTORY:
- a.onDestory();
- break;
- }
- }
- }
d.测试类
- publilc class Test{
- public static void main(String[] args){
- //实例化AndroidSystem
- AndroidSystem system = new AndroidSystem();
- //实例化MyActivity
- Activity a = new MyActivity();
- system.run(a,AndroidSystem.CREAATE);
- ....
- system.run(a,AndroidSystem.DESTORY);
- }
- }
以上可以看出,接口(系统框架)是系统提供的,接口的实现是用户实现的,这样可以达到接口统一,实现不同的效果。
系统在不同的状态“回调”我们的实现类,来达到接口和实现的分类。
个人理解: Class A 实现接口interface Callback重写起方法;
实例化后传递给Class B 的函数使用,
Class B 的 方法method(Callback c ) 接受到此接口的实例 c,
在method中调用A 实现的callback的方法;
转载于:
http://www.cnblogs.com/vtianyun/archive/2012/06/19/2555427.html
- android下的回调机制 分享
- android下的回调机制 分享
- Android应用程序间的内容分享机制
- Android分享机制总结
- android下的callback机制
- Android下的Handler机制
- Android下的intent机制
- android下的callback机制
- android下的callback机制
- android下的callback机制
- Android开发之Fragment与Activity的数据交互通过回调机制实现(源代码分享)
- Android开发之Fragment与Activity的数据交互通过回调机制实现(源代码分享)
- android的binder机制研究(C++部分) 分享
- android的binder机制研究(C++部分) 分享
- android的binder机制研究(C++部分) 分享
- Android应用程序间的内容分享机制-----SEND/SEND_MULTIPLE
- Android的回调机制
- Android的回调机制
- UVA1632_Alibaba
- 配置JAVA环境变量步骤
- MVP模式在Android开发中的应用
- php代码优化
- Java中关于参数传递的问题,可以看看!!
- android下的回调机制 分享
- javaScript学习笔记(一)
- [Leetcode]First Bad Version
- 更改XP的MTU值
- Linq中First和Single 的区别
- Mysql相关命令,优化数据库的时候可以提供帮助
- NSString与NSMutableString的深浅拷贝
- shuoj1019-Prime Path--bfs
- 说说JSON和JSONP,也许你会豁然开朗,含jQuery用例