IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Android Discussion :

Structure globale d'une application : splash-screen & préchargement de données


Sujet :

Android

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 36
    Par défaut Structure globale d'une application : splash-screen & préchargement de données
    Bonjour,


    Je souhaite concevoir une application ayant un splash-screen, puis une map et enfin un descriptif dans une nouvelle Activity lorsqu'un marker de la map est cliqué.

    Afin de pouvoir avoir un splash-screen judicieux qui ne serve pas qu'à faire joli, je m'en sers (via un thread) pour aller récupérer un flux XML à une adresse Web et le convertir en une liste d'objet.
    Cette liste étant globale à mes Activity, je l'ai déclarée dans une class étendant Application.

    Mon problème vient du splash-screen et du fait que la durée prise par l'application pour récupérer et le flux XML peuvent entrer en conflit.
    Par exemple, si le traitement XML prend 5 secondes mais que le splash-screen est défini à 3 secondes, le programme va planter.

    Une solution serait donc de ne passer à l'activité suivante que lorsque le traitement XML est terminé. Mais le problème de cette méthode, c'est que le chargement peut être tellement rapide qu'il devient impossible de voir le splash-screen...

    Une idée de conception ?

    Je ne pense pas être le seul à être confronté à ce type de problèmes...

    D'avance merci.

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    60
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 60
    Par défaut
    Yop. 2 solutions :
    Soit tu règles la durée du splashscreen en fonction de la durée du téléchargement : s'il dure 10sec, tu auras 10sec de splashscreen.

    Sinon tu peux lancer une asyncTask qui se chargera de télécharger les informations nécessaires. Cette solution nécessite de mettre à jour ton application pendant son utilisation et d'avoir l'ancien xml en mémoire pour l'utiliser avant que le nouveau soit téléchargé.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 36
    Par défaut
    Merci.

    Je suis parti sur la première solution avec un test pour savoir si la durée du téléchargement est trop rapide (x secondes) afficher le splashscreen pendant y-x secondes (y = durée du splash screen prévue).

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    60
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 60
    Par défaut
    Avec quoi est-ce que tu télécharges le XML ? Il n'y a pas un moyen plus simple de savoir lorsque le chargement est fini ? Essaye d'utiliser une AsyncTask, tu pourras enlever le splashscreen directement sans avoir à faire quelque chose.

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 36
    Par défaut
    Je récupère et traite mon XML dans un Thread.
    C'est dans ce Thread que dans le finally je teste la durée pour savoir si je dois continuer à afficher le Splashscreen ou non.
    Je gère la durée d'affichage du Splashscreen via un Handler.
    Je suis en train d'ajouter une ProgressBar à l'utilisateur dans le Thread pour qu'il ne se pose pas de questions

    Ca me semble le plus propre, me permet d'assurer l'affichage du Splashscreen pendant une durée minimum tout en assurant que le chargement est fini avant de passer à l'Activity suivante (laquelle a besoin du traitement complet).

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Variables globales dans une application ?
    Par Foxie dans le forum Débuter
    Réponses: 4
    Dernier message: 07/11/2009, 13h56
  2. Réponses: 3
    Dernier message: 20/03/2009, 15h44
  3. variable globale d'une application wxpython
    Par tasnim86 dans le forum wxPython
    Réponses: 2
    Dernier message: 22/04/2008, 13h08
  4. Sauvegarder une application Web-ASP et de ses données
    Par Piefire2 dans le forum Général Conception Web
    Réponses: 9
    Dernier message: 20/09/2007, 10h14

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo