Autore Topic: parallelizzazione attività  (Letto 1248 volte)

Offline antongiove

  • Nuovo arrivato
  • *
  • Post: 13
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    STAR B63M
  • Sistema operativo:
    win
parallelizzazione attività
« il: 30 Gennaio 2012, 18:06:47 CET »
0
Ciao a tutti. Ho questo problema: quando clicco su una immagine (che è una carta) devo visualizzare il suo retro e contemporaneamente emettere il suono relativo al codice morse della carta in esame. Ora il codice che ho scritto funziona alla grande ma prima mi fa sentire il suono e solo dopo mi fa vedere l'immagine del retro della carta. Siccome il codice morse può anche essere di qualche secondo, l'immagine non cambia per tutta la durata del suono. A me sarebbe sufficiente che l'immagine cambiasse prima del suono. Ho letto che la parallelizazione dei processi si fa con i thred che sono un concetto che non conosco e nonostante abbia letto in proposito, non so come attivare nel mio caso specifico.
Allego lo spezzone del codice sperando che qualcuno mi sapia dire come fare
grazie!

             image.setOnClickListener(new OnClickListener() {
               public void onClick(View arg0) {
                  if (sw == 0) {
                     image.setImageResource(ImgidSopra[numElem]);  //visualizza il retro della carta
                     sw=1;
                     // ESEGUE codice MORSE se menu morse attivo
                     if ((swAudio == true)  {

                        for (int j = 0; j < Morse[numElem].length(); j++) {
                           if (Morse[numElem].charAt(j) == '.') {
                                                      
                                 bip('.');
                              

                           }
                           if (Morse[numElem].charAt(j) == '-') {
                                 bip('-');   
                              
                           }
                        }
                     }      
                     
                  } else {
                       image.setImageDrawable(null);  //invisibile e torna alla grid   di immagini                  
                     sw=0;
                  }
                   
               }
               
             });
« Ultima modifica: 30 Gennaio 2012, 18:09:57 CET da antongiove »

Offline bradipao

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 4043
  • keep it simple
  • Respect: +567
    • Github
    • Google+
    • bradipao
    • Mostra profilo
  • Dispositivo Android:
    Nexus 5
  • Play Store ID:
    Bradipao
  • Sistema operativo:
    W7
Re:parallelizzazione attività
« Risposta #1 il: 30 Gennaio 2012, 18:16:07 CET »
0
Non è argomento che si esaurisce con qualche rigo di codice, penso che per le tue esigenze potrebbe andar bene un AsyncTask, di cui questo è un tutorial: [facile] HttpBookSearch: AsyncTask, HttpClient, XML parsing, ProgressDialog - Android Developers Italia

Oppure se vuoi usare Thread: [medio] Introduzione ai Thread - Android Developers Italia
NON rispondo a domande nei messaggi privati
Bradipao @ Play Store

Offline antongiove

  • Nuovo arrivato
  • *
  • Post: 13
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    STAR B63M
  • Sistema operativo:
    win
Re:parallelizzazione attività
« Risposta #2 il: 24 Febbraio 2012, 15:52:04 CET »
0
Anche se un po in ritardo ho seguito il tuo consiglio. Mi sono guardato i tutorial e ho optato per il metodo dei Thread. Adesso funziona che è una meraviglia.
grazie