問題タブ [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 投票する
3 に答える
1130 参照

android - Android - WebService 呼び出しの繰り返し

非常に頻繁に JSON Web サービスを使用する必要があります (トップ 5.10 秒ごと)。

テスト目的で、ボタンを押すたびに実行される AsyncTask に Web サービス呼び出しを実装しました。

ハンドラー、タイマー、または AlarmManager を使用する必要がありますか?

AsyncTask は独自のスレッドを作成するため、少し混乱していますが、これらのメソッドのいずれかが別のスレッドを作成し、別のスレッドを作成するスレッドを作成することはありませんか?

AsyncTask を使用して実装しました。これは、Web サービスの呼び出しに問題があるたびにアプリケーションがハングする余裕がないためです。したがって、最初の呼び出しが失敗した場合、2 番目の呼び出しが成功した場合、問題はなく、フェッチしているデータはタスクの 2 回目の実行時に表示されます。

(GCM は解決策になる可能性がありますが、今は通知の代わりにポーリングを使用する必要があります..)

前もって感謝します

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

android - Handler#postDelayed(Runnable, long) で別のアクティビティを開始すると、「SPAN_EXCLUSIVE_EXCLUSIVE スパンの長さをゼロにすることはできません」というメッセージが表示されます

でアクティビティを開始するとHandler#postDelayed(Runnable, long)、エラー ログ メッセージが表示されます (はい、2 回繰り返されます)。

アプリケーションはクラッシュしませんが、このエラーが常に表示されるのは面倒です。この例では、LogCat に他の出力はありません。

私の最初の活動:

私の2番目の活動:

私のマニフェスト:

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

android - キャッチされていないハンドラーエラー。

HTTP POSTを実行しようとしていますが、時間のかかるタスクを非同期タスクまたはハンドラー内で使用する必要があることがわかったため、ハンドラーを使用してコーディングしようとしましたが、ハンドラーがキャッチされない例外が発生し、場所を特定できません私は間違っています。以下は私のコードとログトレースです。

}

これは私のログキャットです:

ここに画像の説明を入力してください

0 投票する
4 に答える
1645 参照

android - 非同期-ハンドラーのタスク?行で複数の非同期タスクを実行する

私はAndroidで次の問題を抱えています:

行でいくつかの非同期タスクを処理する必要があります(e.g. Async-Task 1 -> Async-Task 2 -> Asyc-Task 3)。すべてのasync-tasksはハンドラーで応答してい(sendMessage(xy))ます。

したがって、私のハンドラーは次の非同期タスクを開始する必要があります。これはベストプラクティスですか?私は別の方法を好むべきですか?

要約:私は多くの非同期タスクを連続して処理する方法を探しています...

asyncThreadのget()関数は、ハンドラーでのみ回答を返すため、使用できません。

私の悪い英語でごめんなさい。

0 投票する
3 に答える
815 参照

java - Android で同等の Java タイマー

私は最近 Java を使い始め、Android 開発を検討しています。私が作成した Java プログラムの 1 つを移植しようとしていましたが、Java タイマーを Android で同じように機能させるのに苦労しています。私は多くの投稿を読みましたが、ほとんどの場合、Timer ではなく Android で Handler クラスを使用する方が良いことが示されました。

これはJavaでの私のタイマーでした:

そして、特定のボタンがクリックされたら、単に「playTimer.start()」を実行して開始します。

ご覧のとおり、ユーザーが必要な FPS を設定できるようにセットアップしました (Timer クラスの最初のパラメーターを 1000/model.getFPS() に設定するだけです)。

Androidでハンドラーを使用して同様のことをしようとしましたが、いくつかの問題があります。ハンドラー ティックが適切な間隔で起動していないようです。私が必要としているものと比較して、それらはかなり遅いようです。これは私がこれまでアンドロイドで行ったことです:

半疑似コードですみません。誰でも光を当てることができますか?みんなありがとう。

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

android - doInBackground() の実行中に発生した java.lang.RuntimeException エラーを解決するには?

私はアンドロイド開発の初心者です。次のコードでエラーが発生しています。Wi-Fi またはモバイル ネットワークが利用可能かどうかを確認する前に、http 要求に対して asyn メソッドを呼び出しています。インターネット接続が利用可能な場合、私のサービスは正常に実行されていますが、オフライン モードの場合、次のタイプのエラーが発生することがあります: "java.lang.RuntimeException: doInBackground() の実行中にエラーが発生しました"

以下は MyServiceProfile コードです。このコードでは、最初にインターネット接続を確認してから、ユーザーがオフラインの場合、データはローカル データベースに保存され、インターネット接続中に自動的にサーバーに更新されます

}

サーバーHTTPリンクコードの私の更新は以下のとおりです。

}

正常に動作することもありますが、wifi またはモバイル インターネット接続が接続されているときに突然アプリがクラッシュしました。:( あなたの提案、解決策、アイデアを待っています。ありがとうございます。

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

android - Androidでハンドラーを停止する方法

私は、1 つのボタンをクリックするとハンドラーが 2 秒ごとにトースターが表示される Android アプリケーションを作成しました。他の方法でも同じですが、クリックすると実行中のスレッドを停止したい停止ボタンがあります

これは私のコードです