1. ホーム
  2. android

[解決済み] Looperの目的、使い方を教えてください。

2022-03-20 08:55:40

質問

私はAndroidの初心者です。を知りたいのですが。 Looper クラスは何をするのか、またどのように使用するのか。私は、Androidの ルーパー・クラス・ドキュメント しかし、完全に理解することはできません。 いろいろなところで見かけますが、その目的がわかりません。どなたか、以下の目的を定義することで私を助けていただけませんか? Looper また、可能であれば簡単な例も挙げてください。

どのように解決するのですか?

ルーパーとは何ですか?

Looperは、キューに格納されたメッセージ(Runnables)を実行するために使用されるクラスです。通常のスレッドにはこのようなキューはなく、例えば単純なスレッドはキューを持ちません。スレッドは一度だけ実行され、メソッドの実行が終了すると、次のMessage(Runnable)を実行することはない。

Looperクラスはどこで使えるか?

複数のメッセージ(Runnables)を実行したい場合、スレッド内にキューを作成する役割を持つLooperクラスを使用する必要があります。 例えば、インターネットからファイルをダウンロードするアプリケーションを書く場合、Looperクラスを使って、ダウンロードするファイルをキューに入れることができます。

どのように機能するのか?

があります。 prepare() メソッドでLooperを準備します。次に loop() メソッドを使用して現在のスレッドでメッセージループを作成すると、ループを終了するまでキュー内のリクエストを実行する準備ができます。

以下は、Looperを準備するためのコードです。

class LooperThread extends Thread {
      public Handler mHandler;

      @Override
      public void run() {
          Looper.prepare();

          mHandler = new Handler() {
              @Override
              public void handleMessage(Message msg) {
                  // process incoming messages here
              }
          };

          Looper.loop();
      }
  }