7
votes

Android - Comment télécharger les données en arrière-plan aux heures spécifiées

Je suis désolé d'avance de ne pas avoir de code à poster, principalement parce que je ne peux pas avoir la vie de ma part de savoir comment je dois faire ce que je dois faire.

Fondamentalement, à des intervalles spécifiés pendant la journée (ex. 5 p.m), je souhaite que mon application télécharge des données de mon serveur et stockez-la sur l'appareil. Cela consiste à réduire la charge sur mon serveur d'avoir des données téléchargées chaque fois que l'application est exécutée et de réduire les temps de chargement de l'utilisateur afin que lorsqu'il s'agisse d'utiliser l'application, les dernières données sont déjà assis sur leur appareil. .

Je n'ai absolument aucune idée de la façon de faire cela. Je sais comment télécharger les données simplement bien, mais maintenant comment télécharger en arrière-plan comme je planifie. Est-ce même possible?

Je ne demande personne de le faire pour moi, mais quelqu'un pourrait-il me signaler dans la bonne direction.


1 commentaires

J'ai répondu à une question similaire cliquez sur [Entrer la description de lien] [1] [1]: Stackoverflow.com/a/30029284/4716646 < / a>


3 Réponses :


15
votes

Utilisez le AlarmManager

Cette classe donne accès aux services d'alarme système. Ceux-ci vous permettent de planifier votre application à courir à un moment donné à l'avenir. Lorsqu'une alarme s'éteint, l'intention qui avait été enregistrée pour elle est diffusée par le système, démarrant automatiquement l'application cible si elle n'est pas déjà en cours d'exécution. Les alarmes enregistrées sont conservées pendant que l'appareil est endormi (et peut éventuellement réveiller l'appareil si elles s'éteignent pendant cette période), mais seront effacées si elle est désactivée et redémarré.

Utilisez-le pour démarrer un Service

Un service est un composant d'application représentant soit le désir d'une application d'effectuer une opération plus longue, tout en interagissant avec l'utilisateur ou de fournir des fonctionnalités pour d'autres applications à utiliser.

the API Demos inclut un exemple de service d'alarme (Dans la section "App"), qui:

démontre comment vous pouvez planifier une alarme qui provoque le démarrage d'un service. Ceci est utile lorsque vous souhaitez planifier des alarmes qui lancent des opérations à long terme, telles que la récupération de courriels récents.

en particulier, voir AlarmService.java Pour un exemple d'utilisation d'AlarmManager pour planifier votre service pour être réveillé plus tard et voir AlarmService_service.java Pour un exemple de comment répondre à cette alarme. AndroidManifest.xml contient le service associé et les définitions d'activité: < / p> xxx


2 commentaires

@Kyle, j'ai mis à jour ma réponse pour vous pointer dans la bonne direction.


Merci d'être extrêmement utile. C'était parfait.



3
votes

écrire un Service .

Utilisez le AlarmManager .


0 commentaires

0
votes

Quelqu'un pourrait-il s'il vous plaît me signaler dans la bonne direction. p>

AlarmManager , Service , AsynccTask , BroadCastraCeiver P>

    <receiver android:name=".receiver.BootReceiver">
        <intent-filter>
            <action android:name="android.intent.action.BOOT_COMPLETED" />
        </intent-filter>
    </receiver>

1 commentaires

Est-ce une réponse ou une question? Il n'y a pas d'explication sans lien, etc. Désolé -1