私はマップを表示する必要がある(私はOsmdroidを使用しています)、地理座標のリストを持つテキストファイルを読む必要があります。私は緯度と経度のペアを読んでマップ上に表示し、1秒後に次のペアを読んでマップ上に表示しなければなりません。Androidで長いテキストファイルを読み込むにはどのようなスレッド方法を使用できますか?
私はThread
のファイルを読むことを考えていましたが、Thread
のユーザーインターフェイスで何もできないことがわかったので、地図上にその場所を表示することはできません。
次に、私はAsyncTask
でユーザーインターフェイスを変更することができましたが、ドキュメンテーションに短いタスク用であると表示され、何をしたいのかは数分かかる場合があります。 AsyncTask
ドキュメントで
はあなたが長時間実行中のスレッドを維持する必要がある場合、それは非常にあなたがそのようなエグゼキュータ、ThreadPoolExecutorとFutureTaskなどjava.util.concurrentパッケージによって提供される様々なAPIを使用することをお勧めします、と言います私はこれらのクラスをいつ使用するのか、それらのうちの1人(または他の人)が私が望むことをするのに役立つかどうかわからない:テキストファイルの行を読んで、地図上の場所を示す。
RxJavaを使用することをお勧めします。わずか数行のコードで問題を解決できます。また、スレッディングと遅延間隔の計算についても心配する必要はありません。ここでそれについての例の質問です。私はそれが同じ状況ではないが、多分それはあなたにアイデアを与えることができます知っている.http://stackoverflow.com/questions/33291245/rxjava-delay-for-each-item-of-list-emitted – mertsimsek