0

私のアプリには、カレンダーを表示するアクティビティがあります。

基本的なカレンダー (日、月、年) を表示するという事実に加えて、日の出や日の入りなど、さまざまな時間を表示する必要もあります...

正確な時刻を取得するために、経度と緯度で TimeZone を返す Web サービスである Google TimeZone API を使用して TimeZone を修正しました。

Android はメイン スレッドでネットワーク操作を行うことを避けているため、別のスレッドで TimeZone を取得してから、UI にカレンダーを表示する必要があります。

Android フレームワークでは、スレッドから UI を更新する最善の方法は を使用することAsyncThreadですが、これは非同期スレッドであるため、アクティビティはタイムゾーンを修正する前にカレンダーを表示します。

一方で、AsyncTask (またはその他のもの) を使用して Web サービスから TimeZine を取得し、scd 側を形成して適切なカレンダー時間を表示するように、どのようにアドバイスできますか??

4

2 に答える 2

0

onPostExecute()Web リクエストが終了したら、カレンダーをオンにします。
アプリケーションの見栄えを良くするために、スピナーを使用することをお勧めします。
データをロードするときにスピナーを表示し、onPostExecute() で閉じます。

于 2012-11-30T10:40:25.033 に答える
0

AsyncTask は、実行時間の短いバックグラウンド タスク用です。サービスを使用して Android でネットワーク リクエストを実行することを強くお勧めします。

ロボスパイスを見ましたか?

于 2012-11-30T10:24:18.303 に答える