問題タブ [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.
android - 別のスレッドからビューを変更する
インターネットから画像をダウンロードするコードを書きました。そして、ImageView
動的に作成される で表示する必要があります。
そして、ビュー階層を作成した元のスレッドのみがそのビューにアクセスできるというエラーが表示されます。ハンドルを書かなければならないことはわかっていますが、どうすればそれを行うことができますか?
これが私のコードです:
android - Android で HandlerThread を使用する理由
Android では、Handler を使用してメッセージを投稿/処理できます。HandlerThread を使用しない場合 (その Looper を Handler に渡す)、この場合、Handler は MainThread (UI Thread) の Looper を使用しますか?
Handler が MainThread の Looper を使用すると、どのような結果が得られますか? mainThread がブロックされる可能性がありますか?
android - バインドされたサービスからハンドラーと通信する方法は?
現在、アプリが使用するプラグインから外部サービスと通信しています。
バインドされたサービスは、最終的にアクティビティを開始し、アクティビティが終了したことをメイン アプリに通知します。
問題は、サービスがローカル ブロードキャストによって通知されることです。Messengermsg.replyTo
を変数に保存したので、Handler が終了した後にアクセスできますが、Service はまだバインドされています。
実際には機能しますが、NullPointer が不可能であることを完全に確認したいので、そのアプローチはあまり好きではありません。
Messenger を変数に格納するよりも、Binder に通信するためのより良い方法はありますか?
理解を深めるためのコードを次に示します。
java - 別のスレッドからメインスレッドでコードを実行する
Androidサービスで、バックグラウンドタスクを実行するためのスレッドを作成しました。
スレッドがメインスレッドのメッセージキューに特定のタスクを投稿する必要がある状況があります。たとえば、Runnable
。
メインスレッドを取得して、他のスレッドから/にHandler
投稿する方法はありますか?Message
Runnable
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
どういう意味ですか?
android - AndroidのハンドラーでのremoveCallbacks(Runnable r)の意味は何ですか
ハンドラーでのremoveCallbacks(Runnable r)の正確な意味を知りたいです。ドキュメントを確認したところ、「メッセージキューにあるRunnablerの保留中の投稿をすべて削除してください」と表示されています。
今、私の質問は、私のメッセージがハンドラーによってすでに処理を開始されているかどうか、そしてその間に呼び出すとremoveCallbacks
、半分完了したメッセージの処理を停止するかどうかです。またはremoveCallbacks
、ハンドラーによる処理をすでに開始しているメッセージを呼び出しても(呼び出したときにpost(Runnable r)
)実行されますか?
android - UIスレッドでのonQueryCompleteへのAsyncQueryHandlerの呼び出し? (アンドロイド)
私は使用しており、クエリが完了するAsyncQueryHandler
と呼び出されます。onQueryComplete
私の質問: onQueryComplete
UI スレッドで呼び出されますか?
バックグラウンドでクエリを実行することはわかっています。
AsyncQueryHandler
インスタンス化された場所は重要ですか?(UI スレッドでインスタンス化された場合は、UI スレッドonQueryComplete
で呼び出されることを意味します)。
android - ハンドラーを使用して TextView を更新する
5 から 1 までカウントし、毎秒ビューを更新する単純なカウンターを作成しようとしています。ハンドラーを使用せずに単純なループだけで実行しようとしましたが、待機後に 1 が表示されるか、強制的に閉じられます。私もスレッドをいじってみましrunOnUIThread
たが、何かが欠けています。
これが私のコードです:
android-handler - データ転送のブロードキャストとハンドラー
まず、私は Android と Java の初心者ですが、着実に進歩しています。
Andriod 3.0 のデータ転送に BroadCast レシーバーとハンドラーを使用することについて質問があります + 現在、USB シリアル リンクを介して Acer A200 タブレットにデータを受信する実行スレッド内にハンドラーが埋め込まれています。
これらのハンドラー (現時点では 7 つ) は、受信したデータを、フラグメントを使用して複数のビューのデータを表示する複数のアクティビティに明示的に転送します。
一部のデータは複数のディスプレイ/ビューで使用されるため、私の質問は、実行スレッドからデータを単純に「ブロードキャスト」し、各アクティビティのブロードキャスト レシーバーにデータのキャプチャと表示を処理させる方がよいかどうかです。各アクティビティに明示的にデータを送信するハンドラの使用が望ましいですか?
いずれかのアプローチの長所/短所をいただければ幸いです。
ありがとう
エド