7

投稿するコードがないことを前もって申し訳ありません。主な理由は、自分がする必要があることをどのように行う必要があるかを一生理解できないためです。

基本的に、日中の指定された間隔 (例: 午後 5 時) に、アプリでサーバーからデータをダウンロードして、デバイスに保存します。これは、アプリが実行されるたびにデータがダウンロードされることによるサーバーの負荷を軽減し、ユーザーがアプリを使用するときに最新のデータがデバイスに既に存在するように、ユーザーの読み込み時間を短縮するためです。 .

これを行う方法がまったくわかりません。データを正常にダウンロードする方法はわかっていますが、計画どおりにバックグラウンドでダウンロードする方法がわかりました。それは可能ですか?

私は誰かに私のためにそれをするように頼んでいませんが、誰かが私を正しい方向に向けてください.

4

3 に答える 3

15

AlarmManagerを使用する

このクラスは、システム アラーム サービスへのアクセスを提供します。これらにより、将来のある時点でアプリケーションを実行するようにスケジュールできます。アラームが鳴ると、Intent登録されていた がシステムによってブロードキャストされ、対象のアプリケーションがまだ実行されていない場合は自動的に開始されます。登録されたアラームは、デバイスがスリープ状態の間保持されます (また、その間にアラームがオフになった場合はオプションでデバイスをウェイクアップできます) が、オフにして再起動するとクリアされます。

それを使用してサービスを開始します

Service は、ユーザーと対話せずに実行時間の長い操作を実行したい、または他のアプリケーションが使用する機能を提供したいというアプリケーションの要求を表すアプリケーション コンポーネントです。

API デモには、アラーム サービスの例 (「アプリ」セクション) が含まれています。

サービスを開始させるアラームをスケジュールする方法を示します。これは、最近の電子メールの取得など、実行時間の長い操作を開始するアラームをスケジュールする場合に役立ちます。

具体的には、 AlarmManagerを使用して Service を後で起動するようにスケジュールする例については AlarmService.java を参照してくださいまた、そのアラームに応答する方法の例についてはAlarmService_Service.javaを参照してください。API デモのAndroidManifest.xmlには、関連するサービスとアクティビティの定義が含まれています。

    <service android:name=".app.AlarmService_Service" android:process=":remote" />

    <activity android:name=".app.AlarmService" android:label="@string/activity_alarm_service">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.SAMPLE_CODE" />
        </intent-filter>
    </activity>
于 2010-07-13T02:51:03.930 に答える
3

Serviceを書きます。

AlarmManagerを使用します。

于 2010-07-13T05:46:17.773 に答える
0

誰かが私を正しい方向に向けてくれませんか。

AlarmManagerServiceAsyncTaskBroadcastReceiver

    <receiver android:name=".receiver.BootReceiver">
        <intent-filter>
            <action android:name="android.intent.action.BOOT_COMPLETED" />
        </intent-filter>
    </receiver>
于 2010-07-13T07:16:23.073 に答える