2010-07-13 12 views
7

lo siento por adelantado para no tener ningún código de envío Arriba, sobre todo porque no puedo por la vida de a averiguar cómo tengo que hacer lo que yo necesito hacer.Android - ¿Cómo descargar los datos en segundo plano en tiempos especificados

Básicamente, a intervalos específicos durante el día (ej. 5 P.M), quiero que mi aplicación para descargar algunos datos de mi servidor y almacenarlo en el dispositivo. Esto es tanto para reducir la carga en mi servidor de tener datos que están siendo descargados cada vez que se ejecuta la aplicación, y para reducir los tiempos de carga para el usuario, de manera que cuando van a utilizar la aplicación, los datos más recientes que ya está sentado en su dispositivo .

me tienen absolutamente ninguna idea de cómo hacer esto. Sé cómo descargar datos muy bien, pero ahora cómo descargarlos en segundo plano como estoy planeando. ¿Es posible?

No estoy pidiendo para cualquier persona que lo haga por mí, pero podría alguien por favor me punto en la dirección correcta.

+0

he respondido a una pregunta similar Haga clic en [introduzca la descripción enlace aquí] [1] [1]: http : //stackoverflow.com/a/30029284/4716646 – sunnytheshine

Respuesta

15

Uso del AlarmManager

Esta clase proporciona acceso a los servicios de alarma del sistema. Esto le permite programar su aplicación para que se ejecute en algún momento en el futuro. Cuando se activa una alarma, el sistema emite el Intent que se había registrado para él, iniciando automáticamente la aplicación de destino si aún no se está ejecutando. Las alarmas registradas se conservan mientras el dispositivo está dormido (y opcionalmente pueden reactivar el dispositivo si se apagan durante ese tiempo), pero se borrará si se apaga y se reinicia.

Se usa para iniciar un Service

Un servicio es un componente de aplicación que representa el deseo sea una de aplicación para realizar una operación de más largo en funcionamiento mientras no interactúa con el usuario o para suministrar funcionalidad para otras aplicaciones a utilizar.

El API Demos incluye un ejemplo de servicio de alarma (en la sección "Aplicación"), que:

muestra cómo se puede programar una alarma que causa que un servicio sea iniciado. Esto es útil cuando desea programar alarmas que inician operaciones de larga ejecución, como la recuperación de correos electrónicos recientes.

En particular, véase AlarmService.java para un ejemplo del uso AlarmManager para programar su servicio para ser despertado más tarde, y ver AlarmService_Service.java para un ejemplo de cómo responder a esa alarma. Demostración de la API AndroidManifest.xml contiene los servicios y de la actividad definiciones relacionadas:

<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, he actualizado mi respuesta para indicarle en la plataforma ht dirección. –

+0

Gracias por ser extremadamente útil. Esto fue perfecto. –

0

alguien podría indicarme la dirección correcta.

AlarmManager, Service, AsyncTask, BroadcastReceiver

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

¿Esto es una respuesta o una pregunta? No hay explicación, no hay enlace, etc. perdón -1 – Janusz

Cuestiones relacionadas