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 :

Effectuer des calculs après l'ouverture d'une activity


Sujet :

Android

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2011
    Messages
    144
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2011
    Messages : 144
    Par défaut Effectuer des calculs après l'ouverture d'une activity
    Bonjour, je reviens vers vous car je me heurte à un autre problème.

    Une autre fonction de mon application est de se connecter à une page web pour télécharger des informations, puis mettre à jour les 8 bases SQLite du téléphone.
    Cela fonctionne bien, mais sur en dehors du simulateur, c'est un peu plus long.

    Ce n'est pas non plus énorme, 5/6 secondes, mais j'aimerais éviter de faire "peur" à l'utilisateur.
    Je souhaitais donc ajouter des informations dans le textview en temps réel, lorsque la connexion est établie puis à chaque mise à jour des tables.

    Malheureusement, l'application effectue tout le calcul et affiche tout d'un bloc à la fin.
    Pire, lorsque je clique sur le bouton "MAJ" qui ouvre l'activity (et donc autre vue) pour la mise à jour, l'écran reste comme figé (l'application attends d'avoir tout terminé avant de switcher vers l'autre vue).

    J'ai donc essayé de "jouer" avec le cycle de vie de l'application, mais sans succès.
    http://www.mti.epita.fr/blogs/wp-con...lifecycle1.png


    Avez-vous une idée à me conseiller ?


    [EDIT] Je viens de penser aux threads, pensez-vous que cela soit possible avec un thread ? Peut-être y a-t-il tout de même une autre solution évidente ?

  2. #2
    Membre Expert
    Avatar de Hephaistos007
    Profil pro
    Enseignant Chercheur
    Inscrit en
    Décembre 2004
    Messages
    2 493
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2004
    Messages : 2 493
    Par défaut
    Citation Envoyé par gilloddon Voir le message
    Je viens de penser aux threads, pensez-vous que cela soit possible avec un thread ? Peut-être y a-t-il tout de même une autre solution évidente ?
    C'est même une nécessité (diapo n°3, page 20 : http://olegoaer.perso.univ-pau.fr/courses/MOBILE.pdf).
    Penses aussi aux "progress bar" pour que l'utilisateur ne s'impatiente pas
    Il vaut mieux mobiliser son intelligence sur des conneries que mobiliser sa connerie sur des choses intelligentes --- devise SHADOKS

    Kit de survie Android : mon guide pour apprendre à programmer sur Android, mon tutoriel sur les web services et enfin l'outil en ligne pour vous faire gagner du temps - N'oubliez pas de consulter la FAQ Android

  3. #3
    Modérateur
    Avatar de Hizin
    Homme Profil pro
    Développeur mobile
    Inscrit en
    Février 2010
    Messages
    2 180
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Développeur mobile

    Informations forums :
    Inscription : Février 2010
    Messages : 2 180
    Par défaut
    Si tu peux, utilises plutôt une AsyncTask.
    Sa méthode doInBackground est exécuté dans un thread séparé, mais les méthodes onProgress, onPreExecute et onPostExecute sans géré par l'EDT.
    Ainsi, tu peux facilement gérer et les tâches et les MaJ.
    À utilise en combo avec un ProgressDialog en mode spinner
    C'est Android, PAS Androïd, ou Androïde didiou !
    Le premier est un OS, le second est la mauvaise orthographe du troisième, un mot français désignant un robot à forme humaine.

    Membre du comité contre la phrase "ça marche PAS" en titre et/ou explication de problème.

    N'oubliez pas de consulter les FAQ Android et les cours et tutoriels Android

  4. #4
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2011
    Messages
    144
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2011
    Messages : 144
    Par défaut
    Oui, en regardant le pdf (traitant pas mal de point, merci pour le lien), j'ai aussi pensé qu'une AsyncTask serait mieux.
    Merci donc pour vos réponses, je vais essayer de mettre en place tout ça, avec la progressbar (j'ai trouvé un tutoriel pour ça, je vais voir ce que ça donne). Je vous tiendrais au courant.

    Par contre, qu'entends tu par "ProgressDialog en mode spinner" ?

    -----------------------

    Sinon, j'ai une autre question, mais j'ouvrirais un sujet différent si nécessaire.
    Est-ce qu'il est possible d'ajouter dynamiquement des zones de texte et des boutons sur une vue ?

    Je m'explique rapidement. Disons que j'ai un tableau d'objet.
    Il faudrait que pour chaque objet, j'affiche son nom et à côté, un bouton -> nécessaire d'ajouter une zone de texte et d'y attribuer un texte.
    De même, pour chaque objet, il faudrait surtout ajouter un bouton et avoir un listenner dessus pour savoir sur quel bouton l'utilisateur a appuyé, et effectuer une action différente selon le bouton.

    Vu que la taille peut varier à chaque fois, c'est donc forcément dynamique, ce qui ajoute la petite pointe de difficulté.
    Je ne sais pas si c'est possible, vu que l'on doit aussi déclarer les boutons dans le xml layout.

    (Petit schéma)

  5. #5
    Membre Expert
    Avatar de Hephaistos007
    Profil pro
    Enseignant Chercheur
    Inscrit en
    Décembre 2004
    Messages
    2 493
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2004
    Messages : 2 493
    Par défaut
    Citation Envoyé par gilloddon Voir le message
    Par contre, qu'entends tu par "ProgressDialog en mode spinner" ?
    Il voulais simplement faire référence à l'esthétique et l'animation de la barre de progression ("spinning wheel" ou "horizontal bar"). Le spinning wheel est surtout utile lorsque l'on ne connaît pas le temps qu'une tâche prendra.

    Citation Envoyé par gilloddon Voir le message
    Sinon, j'ai une autre question, mais j'ouvrirais un sujet différent si nécessaire.
    Est-ce qu'il est possible d'ajouter dynamiquement des zones de texte et des boutons sur une vue ?
    oui
    Il vaut mieux mobiliser son intelligence sur des conneries que mobiliser sa connerie sur des choses intelligentes --- devise SHADOKS

    Kit de survie Android : mon guide pour apprendre à programmer sur Android, mon tutoriel sur les web services et enfin l'outil en ligne pour vous faire gagner du temps - N'oubliez pas de consulter la FAQ Android

  6. #6
    Modérateur
    Avatar de Hizin
    Homme Profil pro
    Développeur mobile
    Inscrit en
    Février 2010
    Messages
    2 180
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Développeur mobile

    Informations forums :
    Inscription : Février 2010
    Messages : 2 180
    Par défaut
    Citation Envoyé par Hephaistos007
    Il voulais simplement faire référence à l'esthétique et l'animation de la barre de progression ("spinning wheel" ou "horizontal bar"). Le spinning wheel est surtout utile lorsque l'on ne connaît pas le temps qu'une tâche prendra.
    Oui, simplement
    C'est Android, PAS Androïd, ou Androïde didiou !
    Le premier est un OS, le second est la mauvaise orthographe du troisième, un mot français désignant un robot à forme humaine.

    Membre du comité contre la phrase "ça marche PAS" en titre et/ou explication de problème.

    N'oubliez pas de consulter les FAQ Android et les cours et tutoriels Android

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

Discussions similaires

  1. Repérer le titre d'une colonne pour effectuer des calculs
    Par Doriansticle dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 27/02/2013, 15h14
  2. Effectuer des calcul automatiquement d'une table à une autre
    Par yankd dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 13/09/2012, 15h54
  3. Réponses: 7
    Dernier message: 30/05/2012, 14h36
  4. [AC-2010] Effectuer des calculs avec des dates issues d'une requête
    Par nianiania dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 03/04/2012, 20h51
  5. Réponses: 7
    Dernier message: 07/03/2007, 14h14

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