Bonjour,
Je suis en train de réaliser une application de bus qui lors de son premier lancement parse un fichier JSON via une URL et enregistre toutes les données de celui-ci (lignes, stations, horaires etc.) dans une BD locale SQLite.
Malheureusement, l'écriture en BD prend énormément de temps (environ 2 minutes pour seulement 6 lignes de bus...).
Pour l'instant, j'ai mis ça dans une AsynTask qui s'exécute au premier lancement de l'application, et j'affiche une ProgressBar le temps de son exécution.
Sauf que ce n'est pas très sérieux de faire patienter l'utilisateur 2 minutes, en sachant que je vais rajouter des lignes de bus et que ce temps d'attente va augmenter.
Du coup, est-ce que vous avez une idée de comment je peux faire pour gérer ça ?
La dernière idée que j'ai eu, c'est d'exécuter un service au lancement de l'application qui va récupérer les données, et une fois terminé, on envoie une notification à l'utilisateur pour lui dire qu'il peut utiliser l'application. Au moins entre temps il peut faire ce qu'il veut et n'a pas à patienter.
Qu'en pensez vous? Est-ce que c'est possible de démarrer une application avec un service et sans activité? Ou carrément est-ce qu'il existe mieux comme solution?
Je prends toutes idées et tous conseils! Merci!![]()
Partager