Callback机制在Android中的应用场景

来源:互联网 发布:sql属于什么数据库语言 编辑:程序博客网 时间:2024/05/21 05:20

Callback是什么?

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

如何使用 Callback?

主线程:
//调用包含子线程以及耗时操作的方法, 并注入匿名内部类, 其中的onSuccess作为回调方法Service.login("xxx", "xxx", new Service.Callback<String>() {@Overridepublic 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机制, 在网络访问完成时, 主动调用结果处理函数
1 0
原创粉丝点击