0

ユーザーが自分の場所を Web サーバーに記録できるようにするアプリを作成しようとしていますが、このすべての流れで立ち往生しています。私はいくつかのスレッドを使用していますが、この時点でそれらをどのように使用するのが最善かがわかりません。メインスレッド(1)にはUIがあり、ユーザーがボタンを押して場所を記録し、そのボタンを押した後、UIスレッドは「お待ちください」ダイアログボックスを表示し、新しいスレッド(2)を開始してgpsを取得します位置。私が今理解しているように、UIスレッドがダイアログボックスを表示してスタックし、スレッド(2)が場所を取得しています。次に、thread(2) が場所の取得を完了すると、http サーバーと通信するために別の thread(3) が必要になります。私が理解しているように、メインスレッド(1)は、他のスレッドが設定するフラグを定期的にチェックするために「sleep()」を処理できません。したがって、「お待ちください」ダイアログを閉じる唯一の方法は、スレッドの 1 つからです。ご覧のとおり、私は少し混乱しています。これに対処する最良の方法はどれですか (厳密にはスレッド同期について話します)? 基本的に、バックグラウンドでアプリが最初に GPS 座標を取得し、2 番目に Web サーバーに記録された位置を取得した後、しばらくお待ちくださいダイアログを表示するユーザー インターフェイスが必要です。そして最後に成功か否かをユーザーに示します。ありがとう!場所を取得した後、Webサーバーに記録します。そして最後に成功か否かをユーザーに示します。ありがとう!場所を取得した後、Webサーバーに記録します。そして最後に成功か否かをユーザーに示します。ありがとう!

4

1 に答える 1