¿Cómo evitar que los datos se descarguen cada vez que ingreso a la aplicación?

me encuentro ya finalizando el desarrollo de una aplicación Android y me encontré con dos problemas.

P1: los datos los descargo cuando aparece el splashscreen y almaceno en una BD, por ende, la próxima vez que se ingrese, no deberían de descargarse otra vez. (para esto ya había pensado usar muchos if o un switch, pero no me parece la mejor solución. isFirstTimeLaunch() ya lo estoy usando al momento de usar la pantalla de bienvenida por primera vez, pero podría ser una solución).

EJ:

Calendar c = Calendar.getInstance(); int timeOfDay = c.get(Calendar.DATE);  if (timeOfDay == 18) {    loadURL();    loadURL2();    loadURL3(); } 

P2: los datos el algún momento deberán ser actualizados, y si se descargan solo una vez, ¿cómo los actualizo luego? (había pensado en un archivo JSON para esto, pero no sé cómo).