Callback机制在Android中的应用场景

Callback是什么?

当我们需要把耗时操作发送到子线程运行时, 需要在耗时操作完成时将结果放到主线程来呈现或者再处理时, 我们需要在子线程主动地回头调用主线程中处理结果的方法, 这种回调式的机制就是Callback.

如何使用 Callback?

主线程:
//调用包含子线程以及耗时操作的方法, 并注入匿名内部类, 其中的onSuccess作为回调方法
Service.login("xxx", "xxx", new Service.Callback<String>() {

	@Override
	public void onSuccess(String result) {
		System.out.println(result);
	}

});
子线程:
public class Service {
	public static void login(String account, String password, final Callback<String> callback) {
		{//假设这对花括号内部是子线程环境
			//.
			//.
			//.
			//一系列费时处理之后
			String result = "xxx";
			callback.onSuccess(result); // 主动调用主线程注入的onSuccess方法
		}
	}

	public static abstract class Callback<T> {
		public abstract  void onSuccess(T t) ;
	}
}


Callback的使用场景

Android中需要自定义的使用callback主要是在网络访问上, 网络访问是一个耗时操作, 不能马上返回结果, 因此结果的返回就不能直接使用return, 这里就需要使用Callback机制, 在网络访问完成时, 主动调用结果处理函数
	
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值