3

サーバーから新しいデータをダウンロードする (削除または送信するのではなく) 必要がある多くの SQLite テーブルを含む Android 4.0(android:minSdkVersion="14") のアプリケーションがあります。現時点では、ユーザーには同期ボタンがありますが、3G/Wifi がオンの場合、および 1 ~ 2 時間ごとに自動的に同期するものを実装したいと考えています。

どのパターンまたはベスト プラクティスを使用する必要がありますか? アラームか、ローカル サービスか、リモート サービスか、それとも何か?

4

3 に答える 3

0

Android Pro 4の第 19 章を読むことをお勧めします( http://my.safaribooksonline.com/book/programming/android/9781430239307/chapter-19-broadcast-receivers-and-long-running-services/navpoint-164 )次に、ここから既に準備ができているソース コードを使用しますhttp://www.androidbook.com/akc/filestorage/satya/documentfiles/3810/ProAndroid4_Ch19_TestReceivers.zip

私はAlarm + ALongRunningReceiver(=Broadcast Receiver) + ALongRunningNonStickyBroadcastService(Local Service) + LightedGreenRoom(Handles CPU partial_wake so it doesn't sleep ) を使用してこれを行いました。

于 2012-11-26T14:18:14.813 に答える
0

次の 2 つが必要です。

コードが自分のスレッドで実行されることを確認してください。放送受信機で重いものを実行したくありません。このようなコードを実行するのに適した場所は、独自の別のスレッドを持つサービスです。

于 2012-11-22T15:04:27.687 に答える
0

サービスとブロードキャスト レシーバーを使用します(上記の wifi 状態の場合)。X回ごとにWebサーバーをポーリングすることは、バッテリーの使用に関して非常に悪い経験であることを覚えておいてください. GCM Web サービスを構築してみてください。

于 2012-11-22T15:16:18.587 に答える