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 :

Utilisation d'un thread


Sujet :

Android

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre émérite
    Avatar de ChPr
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    2 122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : France, Val d'Oise (Île de France)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 2 122
    Par défaut Utilisation d'un thread
    Dans une application CPS que j'ai créée, le changement de carte n'est pas fluide car je doit chercher dans une liste de 1500 cartes (chiffre qui ne peut qu'augmenter) celle qui sera l'élue.

    Or, la future élue ne figure que parmi les huit cartes connexes à celle en cours.

    Mon idée est alors de créer une tâche de fond qui fabrique la liste (restreinte) des cartes éligibles.

    Je suppose que cela peut se faire à l'aide de thread. Est-ce que le structure décrite ci-après vous paraît être une solution possible. Suite à la demande de changement de carte, je lance la méthode suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
    void changement_de_carte () {
      // Faire le changement de carte avec la liste restreinte en cours
      new Thread(new Runnable() {
        public void run()	{
          // Recherche de la nouvelle liste restreinte de carte : tâche qui prend du temps
          runOnUiThread(new Runnable() {
          @Override
            public void run() {
              // Remplacer l'ancienne liste restreinte par la nouvelle
            }
          });
        }
      }).start();
    }
    Merci pour votre aide.

    Pierre

  2. #2
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    La question est plutot de savoir pourquoi ça te prends autant de temps. Il suffit que tu stocke une fois pour toute la liste des 8 cartes connexes dans chaque carte. Ou, puisque je suppose que l'on parle d'une grille de cartes, que tu utilise un système de numérotation type x,y comme ça tu connais directement le nom des 8 cartes à charger.

  3. #3
    Membre émérite
    Avatar de ChPr
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    2 122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : France, Val d'Oise (Île de France)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 2 122
    Par défaut
    tchize_, tu as sans doute raison. Je vais regarder plus en détail toute ma gestion des cartes.

    Cordialement.

    Pierre

  4. #4
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 693
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 693
    Par défaut
    Et pour répondre à ta question initial , je pense que tu tombe de le cas qui correspond bien à l'utilisation d'une asynctask :

    http://developer.android.com/referen...AsyncTask.html

    qui permet de simplifier fortement la gestion des action en tache de fond avec mise à jour de l'ui
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  5. #5
    Membre émérite
    Avatar de ChPr
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    2 122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : France, Val d'Oise (Île de France)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 2 122
    Par défaut
    @ tchize_ : une fois qu'une carte a été identifiée, il est effectivement aisé de trouver les cartes connexes par leur coordonnées.

    Pour autant, cela me cause d'autres problèmes d'initialisation, qui m'amènent à avoir des procédures indépendantes de recherche au lancement, aux changements d'échelles, aux endroits où je n'ai pas de carte. Au final, cela me complique les choses mais, ce qui fait que je vais persister dans cette voie, est que je gagne en fluidité lors des changements de carte.

    @ grunk : j'avais déjà entrevu les méthodes asyncTask mais sans les mettre en œuvre. J'ai peut-être des morceaux de programmes où elles seraient certainement utiles.

    Merci à vous.

    Pierre

  6. #6
    Membre émérite
    Avatar de ChPr
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    2 122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : France, Val d'Oise (Île de France)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 2 122
    Par défaut
    Finalement, j'ai abandonné l'idée de rechercher les cartes connexes par leur nom car cela impliquait d'avoir des cartes toutes à la même échelle et avec des pas de décalage bien déterminés (sinon, je tombais dans la problématique de la multiplicité des noms de cartes). Cela réduisait énormément la souplesse de création de cartes.

    J'en suis revenu à l'utilisation d'un tableau restreint des cartes connexes et , en peaufinant mon code, j'ai réussi à faire en sorte que ce soit aussi fluide qu'en cherchant les cartes par leur nom.

    Cordialement.

    Pierre

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

Discussions similaires

  1. Utilisation d'un thread pour faire une pause.
    Par ropabo dans le forum Concurrence et multi-thread
    Réponses: 5
    Dernier message: 11/06/2006, 14h28
  2. utilisation du Multi threading
    Par chti_juanito dans le forum Concurrence et multi-thread
    Réponses: 3
    Dernier message: 30/05/2006, 10h20
  3. [JProgressBar] Utilisation d'un thread
    Par GLDavid dans le forum AWT/Swing
    Réponses: 5
    Dernier message: 16/01/2006, 11h17
  4. [C# 2.0][Form]Comment utiliser les Delegates & Threading
    Par Tips dans le forum Windows Forms
    Réponses: 8
    Dernier message: 08/01/2006, 14h22

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