0

バックグラウンドスレッドでhttpリクエストを処理するための共通クラスを作成する必要があります..4つの異なるUIアクティビティがあり、すべて同じクラスを使用してWebデータをフェッチし、アクティビティを更新します...私のUIアクティビティはバックグラウンドを呼び出したいだけですクラスであり、データを待つ必要はありません。バックグラウンドクラスはデータをUIスレッドに送信するだけで、UIスレッドがそのデータを処理します...非同期タスクを使用してみました...しかし、同じUIクラスに実装すると機能します。 ..誰かが共通のクラスで実装するためのより良いアプローチを与えることができますか..そしてまた、私は非同期タスクと実行可能なスレッドを持つハンドラーのどちらを使用するかを混乱させました...

4

2 に答える 2

0

私が理解している限り、AsyncTask には必要なものがすべて揃っています。その継承者をスタンドアロン クラスとして実装し、それをアクティビティで使用するだけです。

于 2012-10-10T15:13:48.830 に答える
0

バックグラウンドで実行され、サーバーのデータをポーリングするサービスを記述します (AsyncTaskまたは何らかのスレッドを使用してクエリを非同期で実行します)。サーバーからデータを受信したら、それをローカル データベースに挿入します (たとえば、ContentProviderによってバックアップされます)。SQLiteDatabase次に、Activity新しいデータが必要になるたびに、ローカル データベースにクエリを実行します。ここでの利点は、デバイスがオフラインの場合でもデータを表示できることです...ローカル データベースは、以前にクエリされたデータを保持するキャッシュとして機能します。

于 2012-10-10T15:18:19.010 に答える