問題タブ [android-handler]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
5915 参照

android - 別のスレッドからビューを変更する

インターネットから画像をダウンロードするコードを書きました。そして、ImageView動的に作成される で表示する必要があります。

そして、ビュー階層を作成した元のスレッドのみがそのビューにアクセスできるというエラーが表示されます。ハンドルを書かなければならないことはわかっていますが、どうすればそれを行うことができますか?

これが私のコードです:

0 投票する
6 に答える
17066 参照

android - Android で HandlerThread を使用する理由

Android では、Handler を使用してメッセージを投稿/処理できます。HandlerThread を使用しない場合 (その Looper を Handler に渡す)、この場合、Handler は MainThread (UI Thread) の Looper を使用しますか?

Handler が MainThread の Looper を使用すると、どのような結果が得られますか? mainThread がブロックされる可能性がありますか?

0 投票する
2 に答える
1295 参照

android - バインドされたサービスからハンドラーと通信する方法は?

現在、アプリが使用するプラグインから外部サービスと通信しています。

バインドされたサービスは、最終的にアクティビティを開始し、アクティビティが終了したことをメイン アプリに通知します。

問題は、サービスがローカル ブロードキャストによって通知されることです。Messengermsg.replyToを変数に保存したので、Handler が終了した後にアクセスできますが、Service はまだバインドされています。

実際には機能しますが、NullPointer が不可能であることを完全に確認したいので、そのアプローチはあまり好きではありません。

Messenger を変数に格納するよりも、Binder に通信するためのより良い方法はありますか?

理解を深めるためのコードを次に示します。

0 投票する
17 に答える
324737 参照

java - 別のスレッドからメインスレッドでコードを実行する

Androidサービスで、バックグラウンドタスクを実行するためのスレッドを作成しました。

スレッドがメインスレッドのメッセージキューに特定のタスクを投稿する必要がある状況があります。たとえば、Runnable

メインスレッドを取得して、他のスレッドから/にHandler投稿する方法はありますか?MessageRunnable

0 投票する
7 に答える
143132 参照

android - この Handler クラスは静的でなければなりません。そうしないと、リークが発生する可能性があります: IncomingHandler

サービスを使用して Android 2.3.3 アプリケーションを開発しています。メインアクティビティと通信するために、そのサービス内にこれがあります:

ここでfinal Messenger mMessenger = new Messenger(new IncomingHandler());、次の Lint 警告が表示されます。

This Handler class should be static or leaks might occur: IncomingHandler

どういう意味ですか?

0 投票する
2 に答える
16202 参照

android - AndroidのハンドラーでのremoveCallbacks(Runnable r)の意味は何ですか

ハンドラーでのremoveCallbacks(Runnable r)の正確な意味を知りたいです。ドキュメントを確認したところ、「メッセージキューにあるRunnablerの保留中の投稿をすべて削除してください」と表示されています。

今、私の質問は、私のメッセージがハンドラーによってすでに処理を開始されているかどうか、そしてその間に呼び出すとremoveCallbacks、半分完了したメッセージの処理を停止するかどうかです。またはremoveCallbacks、ハンドラーによる処理をすでに開始しているメッセージを呼び出しても(呼び出したときにpost(Runnable r))実行されますか?

0 投票する
1 に答える
2012 参照

android - UIスレッドでのonQueryCompleteへのAsyncQueryHandlerの呼び出し? (アンドロイド)

私は使用しており、クエリが完了するAsyncQueryHandlerと呼び出されます。onQueryComplete

私の質問: onQueryCompleteUI スレッドで呼び出されますか?

バックグラウンドでクエリを実行することはわかっています。

AsyncQueryHandlerインスタンス化された場所は重要ですか?(UI スレッドでインスタンス化された場合は、UI スレッドonQueryCompleteで呼び出されることを意味します)。

0 投票する
1 に答える
2344 参照

android - ハンドラーを使用して TextView を更新する

5 から 1 までカウントし、毎秒ビューを更新する単純なカウンターを作成しようとしています。ハンドラーを使用せずに単純なループだけで実行しようとしましたが、待機後に 1 が表示されるか、強制的に閉じられます。私もスレッドをいじってみましrunOnUIThreadたが、何かが欠けています。

これが私のコードです:

0 投票する
0 に答える
110 参照

android-handler - データ転送のブロードキャストとハンドラー

まず、私は Android と Java の初心者ですが、着実に進歩しています。

Andriod 3.0 のデータ転送に BroadCast レシーバーとハンドラーを使用することについて質問があります + 現在、USB シリアル リンクを介して Acer A200 タブレットにデータを受信する実行スレッド内にハンドラーが埋め込まれています。
これらのハンドラー (現時点では 7 つ) は、受信したデータを、フラグメントを使用して複数のビューのデータを表示する複数のアクティビティに明示的に転送します。

一部のデータは複数のディスプレイ/ビューで使用されるため、私の質問は、実行スレッドからデータを単純に「ブロードキャスト」し、各アクティビティのブロードキャスト レシーバーにデータのキャプチャと表示を処理させる方がよいかどうかです。各アクティビティに明示的にデータを送信するハンドラの使用が望ましいですか?

いずれかのアプローチの長所/短所をいただければ幸いです。

ありがとう

エド