[解決済み] AndroidにおけるAsyncTaskとエラーハンドリング
2022-05-03 21:59:18
質問
を使用していたコードを変換しています。
Handler
から
AsyncTask
. 後者は、メインUIスレッドでの非同期更新と結果の処理という点で素晴らしいものです。 私にとって不明なのは、もし
AsyncTask#doInBackground
.
私がやっている方法は、エラーハンドラを持ち、そこにメッセージを送ることです。うまくいくのですが、これは正しい方法なのでしょうか、それとももっと良い方法があるのでしょうか?
また、エラーハンドラをActivityフィールドとして定義すると、UIスレッドで実行されるはずだと理解しています。 しかし、時々(非常に予測不可能)、私は、コードが
Handler#handleMessage
は間違ったスレッドで実行されています。エラーハンドラの初期化は
Activity#onCreate
ということでしょうか?配置する
runOnUiThread
を
Handler#handleMessage
は冗長に見えますが、非常に確実に実行されます。
解決方法は?
<ブロッククオートそれはうまくいくが、それは "正しい"。 アプローチなのでしょうか? 代替案はありますか?
を保持しています。
Throwable
または
Exception
の中に
AsyncTask
のインスタンスを作成し、そのインスタンスに対して
onPostExecute()
そのため、私のエラー処理では、画面上にダイアログを表示するオプションがあります。
関連
-
gitlab 設定エラー。リモートリポジトリから読み込めなかったか、ホストキーの検証に失敗しました。
-
超シンプルなアンドロイドのタイムディレイ機能
-
[解決済み] Androidのソフトキーボードをプログラムで閉じる/隠すにはどうすればよいですか?
-
[解決済み] Androidでアクティビティ起動時にEditTextにフォーカスが当たらないようにする方法
-
[解決済み] Androidの「コンテキスト」とは何ですか?
-
[解決済み] EclipseのAndroidプラグインで "Debug certificate expired "エラーが発生する。
-
[解決済み] Androidでファイルをダウンロードし、ProgressDialogで進捗を表示する。
-
[解決済み] AsyncTaskのAndroidサンプル
-
[解決済み】「px」、「dip」、「dp」、「sp」の違いは?
-
[解決済み】Android UserManager.isUserAGoat()の正しい使用例?)
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
aapt2エラー:ログを確認する(具体的な原因の探り方)
-
Gradle のエラーです。gradle-core.jar (com.android.tools.build:gradle-core:x.x.x) を見つけられませんでした。
-
android E/RecyclerView﹕ アダプタが接続されていないため、レイアウトをスキップする。
-
AndroidStudio3.0 Error:Execution failed for task ':app:processDebugResources'.
-
Android: インポートモジュールエラー Android リソースのリンクに失敗しました
-
ActivityはOnFragmentInteractionListenerを実装しなければならないに関する質問
-
Error:A problem occurred configuring project ':app'. > ビルドを見つけられませんでした。
-
Android ProgressBarの色を変更する
-
android bluetooth--Bluetooth on、検索、ペアリング、接続
-
超シンプルなアンドロイドのタイムディレイ機能