私はAndroid UIスレッドで作業しています.1つの時間がかかる作業があるので、別のスレッドに入れます。 2つの事は私はありたい:Java Android:1つのスレッドから別のスレッドにデータを送信
1)このサブスレッドの実行後に、UIスレッドがこのworkAは、サブスレッドで作成するいくつかのデータがかかります)
2 workA
を行うために開始します。ここに私の解決策:
Car car;
public void onResume(){
super.onResume();
Thread t = new Thread(){
car = new Car();
car.takePetrol; //take car full petrol
}
});
t.join();
count_How_far_Car_can_go(car.getPetrol);
}
私のコードに問題がある:私は(使用t.joinを持っています)。スレッドtの終了を待つ。そして、これはUIスレッドを "ブロック"します。もちろん、それは私が望むものではありません。私の問題のための別の解決策を持っている
(私はUIスレッドがまだスムーズに作業できるように、別のスレッドを作成するため)、私を助けてください:)
感謝を:)
そして、私はまだStackOverFlowコミュニティを信頼しています... – hqt
以下の答えは、GUIスレッドとやりとりするためのいくつかの方法が必要な場合、AsyncTaskと一緒に行く方法と思われます。私は個人的に標準のJavaスレッドを使い、Producer-Mediator-Consumerモデルを使ってGUIや他のスレッドとの間でメッセージをやりとりします。 http://jaiswaltraining.com/DesignPatterns/ch13.php – JPM