Android开发 java回调
在Android Java中,回调是一种常见的设计模式,它允许一个方法(通常是一个接口的一部分)在某个事件发生时被调用。这种模式可以用于处理异步操作,例如按钮点击、数据加载完成、网络请求返回等。
以下是一个简单的回调示例:
首先,定义一个回调接口:
java
public interface MyCallback {
void onSuccess(String result);
void onFailure(Exception error);
}
然后,创建一个使用这个回调的类:
java
public class DataFetcher {
private MyCallback callback;
public DataFetcher(MyCallback callback) {
this.callback = callback;
}
public void fetchData() {
// 模拟长时间运行的任务
new Thread(new Runnable() {
@Override
public void run() {
try {
// 模拟数据获取成功
String data = "Data fetched successfully";
callback.onSuccess(data);
} catch (Exception e) {
// 模拟数据获取失败
callback.onFailure(e);
}
}
}).start();
}
}
最后,在Activity或其他组件中实现并使用这个回调:
java
public class MainActivity extends AppCompatActivity implements MyCallback {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
DataFetcher fetcher = new DataFetcher(this);
fetcher.fetchData();
}
@Override
public void onSuccess(String result) {
// 处理成功的结果
Log.d("Callback", "Success: " + result);
}
@Override
public void onFailure(Exception error) {
// 处理失败的异常
Log.d("Callback", "Failure: " + error.getMessage());
}
}
在这个例子中,DataFetcher
类负责执行某些长时间运行的任务,并在完成时通过回调接口通知调用者。MainActivity
实现了 MyCallback
接口,并在 DataFetcher
对象创建时传入自己,以便在数据获取成功或失败时接收通知。