1

list = geocoder.getFromLocation( locationNetwork.getLatitude(), locationNetwork.getLongitude(), 3); getFromLocation(LocationManager) を介して最後の場所を取得しようとしているコード ブロックがあります 。それには時間がかかる可能性があるため、UI とは別のスレッドに配置したいと考えています。しかし、私は何を使うべきか混乱しています。この目的のためにハンドラーまたは非同期タスクを使用する必要があります。Androidでハンドラーと非同期タスクをいつ使用する必要があるかについて、私は混乱しています。誰かがいくつかの例、シナリオで私を説明できますか..ありがとう.!

4

2 に答える 2

0

AsyncTaskHandler、および の違いについて話しているこのSOの回答を参照してくださいThread

の作成について話している場合、ほとんどの場合、それは開発者の好みですThreadUI特にバックグラウンドの実行中にを更新する必要がある場合は、その方が簡単Threadだと思います。AsyncTaskどちらもUI、バックグラウンドでより重い作業を行っている間、 で作業を続けることができます。

を使用AsyncTaskして作業を行い、他の方法でdoInBackground()を更新できます。これを複数の場所で使用する場合は、別のファイルにして、必要に応じてコンストラクターを介して渡すことができます。1つだけで使用する場合は、それを内部クラスにすることができ、そのすべてのメンバー変数にアクセスできますUIAsyncTaskThreadActivity ContextActivityActivityActivity

于 2013-07-03T19:40:40.730 に答える