在Android开发中,可以通过回调函数来获取多个线程的执行结果。一种常见的方法是使用Handler来实现多线程之间的通信和数据传递。
首先,定义一个接口来回调多个线程的执行结果:
public interface Callback {
void onResult1(String result1);
void onResult2(String result2);
// 可以定义更多的回调方法
}
然后,在主线程中实现该接口,并在回调方法中处理多个线程的执行结果:
public class MainActivity extends AppCompatActivity implements Callback {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// 创建并启动多个线程
Thread1 thread1 = new Thread1(this);
Thread2 thread2 = new Thread2(this);
thread1.start();
thread2.start();
}
@Override
public void onResult1(String result1) {
// 处理线程1的执行结果
}
@Override
public void onResult2(String result2) {
// 处理线程2的执行结果
}
}
在多个线程中调用回调方法来传递执行结果:
public class Thread1 extends Thread {
private Callback callback;
public Thread1(Callback callback) {
this.callback = callback;
}
@Override
public void run() {
// 执行耗时操作
String result1 = "result1";
callback.onResult1(result1);
}
}
public class Thread2 extends Thread {
private Callback callback;
public Thread2(Callback callback) {
this.callback = callback;
}
@Override
public void run() {
// 执行耗时操作
String result2 = "result2";
callback.onResult2(result2);
}
}
通过这种方式,可以实现多个线程的执行结果回调到主线程,并在主线程中处理这些结果。当然,也可以使用其他方式来实现多个线程的结果回调,如使用Handler、RxJava等库。不过以上方法是比较常见且简单的一种实现方式。