2010-07-13 3 views
7

Mi dispiace in anticipo per non avere alcun codice da pubblicare, principalmente perché non riesco a capire come devo capire cosa devo fare bisogno di fare.Android - Come scaricare i dati sullo sfondo in determinati orari

Fondamentalmente, a intervalli specificati durante il giorno (ad esempio 5 P.M), voglio che la mia app scarichi alcuni dati dal mio server e li memorizzi sul dispositivo. Ciò consente sia di ridurre il carico sul mio server che i dati vengano scaricati ogni volta che viene eseguita l'app, sia di ridurre i tempi di caricamento per l'utente in modo tale che quando utilizzano l'app, i dati più recenti siano già sul proprio dispositivo .

Non ho assolutamente idea di come farlo. So come scaricare i dati bene, ma ora come scaricare in background come sto pianificando. È possibile?

Non sto chiedendo a nessuno di farlo per me, ma qualcuno potrebbe per favore indicarmi la giusta direzione.

+0

ho risposto a una domanda simile Fare clic su [inserire descrizione collegamento qui] [1] [1]: http : //stackoverflow.com/a/30029284/4716646 – sunnytheshine

risposta

15

Utilizzare il AlarmManager

Questa classe consente di accedere ai servizi di allarme del sistema. Questi ti permettono di pianificare la tua applicazione per essere eseguita in futuro. Quando si attiva un allarme, lo Intent che è stato registrato viene trasmesso dal sistema, avviando automaticamente l'applicazione di destinazione se non è già in esecuzione. Gli allarmi registrati vengono mantenuti mentre il dispositivo è in stato di riposo (e possono riattivare facoltativamente il dispositivo se si spengono durante tale periodo), ma verranno cancellati se viene spento e riavviato.

Usalo per avviare un servizio Service

A è un componente dell'applicazione che rappresenta il desiderio sia un dell'applicazione per eseguire un'operazione più lungo in esecuzione mentre non interagisce con l'utente o per la fornitura di funzionalità per altre applicazioni a uso.

Il API Demos include un esempio di servizio di allarme (nella sezione "App"), che:

dimostra come è possibile pianificare un allarme che provoca un servizio da avviare. Ciò è utile quando si desidera pianificare allarmi che avviano operazioni di lunga durata, come il recupero di e-mail recenti.

In particolare, vedere AlarmService.java per un esempio di utilizzo AlarmManager per programmare il vostro servizio essere svegliati tardi, e vedere AlarmService_Service.java per un esempio di come rispondere a questo allarme. La demo API AndroidManifest.xml contiene le relative definizioni di servizi e di attività:

<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> 
+0

@Kyle, ho aggiornato la mia risposta per indicarti il ​​rig direzione ht –

+0

Grazie per essere stato estremamente utile. Questo è stato perfetto. –

0

qualcuno potrebbe, per favore, indicarmi la giusta direzione.

AlarmManager, Service, AsyncTask, BroadcastReceiver

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

Questa è una risposta o una domanda? Non c'è nessuna spiegazione, nessun collegamento, ecc. Scusate -1 – Janusz