在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等庫。不過以上方法是比較常見且簡單的一種實現方式。