`

android中常见的回调模式

 
阅读更多
最近做ListView网络图片的异步加载,以及下载网路MP3动态进度显示。看过一些源码都涉及这样的回调,这样节省了很多不必要的重复操作,非常简便。写了一个Demo,够简单的吧.

Demo1.java

package com.demo;
import com.demo.Demo2.TestInterface;
public class Demo1 {

	private String demo2Param;
	private Demo2 demo2 = new Demo2();
	
	public void demo1Test(){
		demo2.demo2Test(new TestInterface() {
			public void method(String para1, String para2) {
				// TODO Auto-generated method stub
				demo2Param = para1 + " && "+para2;
				System.out.println("Print:"+demo2Param);
			}
		});
	}
	
	public static void main(String[] args) {
		new Demo1().demo1Test();
	}
}



Demo2.java

package com.demo;
public class Demo2 {
	
	private String para1 = "IS PARA1";
	private String para2 = "IS PARA2";
	
	public void demo2Test(TestInterface testInterface){
		testInterface.method(para1,para2);
	}
	
	public interface TestInterface{
		public void method(String para1,String para2);
	}
}


你会考虑回调函数和返回函数有何区别?优势在哪里?我只能说具体的优势我现在也不清楚,这些都需要的实际开发中去摸索。但是摆在面前很清晰的一点是,return能返回两个,或者多个值吗?回调函数可以做到!
分享到:
评论

相关推荐

    接口回调Demo

    在android中,接口回调是一种很常见的机制,它可以大大降低代码间耦合性,提高程序的复用性。我们经常碰到的点击事件就是利用的接口回调机制。这里我利用接口回调回传AsyncTask下载的数据~

    Android异步回调中的UI同步性问题分析

    Android程序编码过程中,回调无处不在。从最常见的Activity生命周期回调开始,到BroadcastReceiver、Service以及Sqlite等。Activity、BroadcastReceiver和Service这些基本组件的回调路径和过程也就是通常意义上所谓...

    新版Android开发教程.rar

    Android Android Android Android 盈利模式 Android 的 App Market 模式,软件开发者获得 7 成收入, 3 成用于系统维护。难点在于位置营销。 设备商通过卖设备、内置特色应用来获得盈利。也可以兼职专业软件开发者...

    Android代码-FragmentStack

    2.开启,关闭,动画,回退栈,生命周期回调等操作更加方便,一行代码即可搞定; 3.自带Activity四种启动模式,接管了系统的回退栈,很常见的场景,如 用户中心--->注册用户--->注册成功--->返回原来的用户中心,就...

    精通ANDROID 3(中文版)1/2

    13.2.6 响应handleMessage回调  13.3 使用工作线程  13.3.1 从菜单调用工作线程  13.3.2 在工作线程与主线程之间通信  13.3.3 线程行为概述  13.4 处理程序示例驱动程序类  13.4.1 驱动程序活动文件  ...

    工程硕士学位论文 基于Android+HTML5的移动Web项目高效开发探究

    (1)针对多窗口类浏览器模式问题,指出并分析了该问题存在的原因,利用Activity的运行机制,通过Fragment栈对主要模块的Webview进行管理,实现对不同模块之间切换的控制。 (2)针对跨域数据交互问题,指出并分析了...

    Android 适配器模式应用及设计原理

    适配器模式是一种重要的设计模式,在 Android 中得到了广泛的应用。适配器类似于现实世界里面的插头,通过适配器,我们可以将分属于不同类的两种不同类型的数据整合起来,而不必去根据某一需要增加或者修改类里面的...

    Android编程之Activity中onDestroy()调用分析

    刚刚一个BUG让我发现,如果 activity 实现了一个回调接口,然后使用 this 设置给需要回调接口的方法,这种应用场景比较常见,最常见的就是实现 onClickListener 接口,然后 findViewById().setOnClickListenr(this) ...

    精通Android 3 (中文版)2/2

    13.2.6 响应handleMessage回调  13.3 使用工作线程  13.3.1 从菜单调用工作线程  13.3.2 在工作线程与主线程之间通信  13.3.3 线程行为概述  13.4 处理程序示例驱动程序类  13.4.1 驱动程序活动文件  ...

    Kotlin Coroutines by tutorials v1.0 PDF

    除此之外,通常很麻烦的Java回调接口,你很快就会陷入意大利面条代码(恰当地称为“Callback Hell”)。 无论您使用多少编码模式来避免这种情况,您都必须以一种方式遇到多个线程的状态更改。 创建响应式应用程序的...

    【Android】Android UI 开发_问答_2

    在 onCreate 回调方法中 protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main2); } 设计布局文件的Design和Text模式什么区别? ...

    HandlerStudy

    handler是Android给我们提供来更新UI的一套机制,也是一套消息处理的机制,我们可以发送消息,也可以通过它来处理消息,handler在我们的framework中是非常常见的。例如:Activity生命周期 onCreate() onStart()生命...

    【05-面向对象(下)】

    •为了保证Lambda表达式的目标类型是一个明确的函数式接口,可以有如下三种常见方式:  –将Lambda表达式赋值给函数式接口类型的变量。  –将Lambda表达式作为函数式接口类型的参数传给某个方法。  –使用函数...

Global site tag (gtag.js) - Google Analytics