Autore Topic: GeoLocalizzazione e thread  (Letto 738 volte)

Offline qualcuno

  • Nuovo arrivato
  • *
  • Post: 24
  • Respect: 0
    • Google+
    • Mostra profilo
    • Ingegnere Informatico Blog
GeoLocalizzazione e thread
« il: 07 Febbraio 2012, 11:07:13 CET »
0
Salve a tutti, sto provando a recuperare le coordinate del luogo, e ci sono riuscito, ora però mi sorge un dubbio riguardo al threading.

Ho provato a creare una activity con un tasto semplice
Se si clicca su di questo tasto si controlla se il luogo è stato recuperato
in caso affermativo scrive CIAO + la latitudine
mentre in caso negativo scrive solo CIAO

ebbene, ho visto in svariati post in cui ci si preoccupava di inserire l'operazione di recupero delle coordinate in un thread a parte altrimenti
la UI si "blocca". Tuttavia, la mia applicazione continua a funzionare regolarmente durante il recupero del luogo.

Per questo vi chiedo, quand'è che bisogna inserire questa operazione in un thread diverso dal main??


Codice (Java): [Seleziona]
public void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.homeactivity);

               ButtonTest= (Button) findViewById(R.id.button1);
               test = (EditText) findViewById(R.id.editText1);
               l=LocationHolder.getLocationHolderInstance();
               l.InizializzaLocationHolder(this);
               l.AttivaRilevamentoLuogo();

               ButtonTest.setOnClickListener(new OnClickListener()
               {
                       public void onClick(View v)
                       {
                                  // startActivity(scattaFotoIntent);
                           if(l.getLocation()!=null)
                           test.setText("CIAO"+l.getLocation().getLatitude());
                           else
                                   test.setText("CIAO");
                       }
                       });     
               }



Offline alexAndroid

  • Utente normale
  • ***
  • Post: 185
  • Respect: +27
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy Giò
  • Sistema operativo:
    Ubuntu 11.10; Windows XP
Re:GeoLocalizzazione e thread
« Risposta #1 il: 07 Febbraio 2012, 14:56:54 CET »
0
Non conosco la sorgente di LocationHolder.  E' una classe che hai implementato tu?
Comunque è bene che lasci fare a dei Thread dei lavori specifici che richiedono tempo.
In questo link trovi maggiori informazioni a riguardo:
http://developer.android.com/resources/articles/painless-threading.html
Sei stato aiutato oppure il tuo problema è stato risolto? Allora premi il tasto THANKS E' un modo utile e carino per ringraziare chi ti è stato di aiuto.

Offline qualcuno

  • Nuovo arrivato
  • *
  • Post: 24
  • Respect: 0
    • Google+
    • Mostra profilo
    • Ingegnere Informatico Blog
Re:GeoLocalizzazione e thread
« Risposta #2 il: 07 Febbraio 2012, 16:49:05 CET »
0
si il locationHolder è una classe che ho implementato io che implementa le due interfacce: Runnable e LocationListeners

ho provato a inserire il seguente codice ma non funziona
Codice (Java): [Seleziona]
public void run()
{
               
                locationManager.requestLocationUpdates(bestProvider, 0, 0, this);
}

cosa sbaglio? Il thread che ho creato non può accadere a locationManager che ho istanziato nella classe LocationHolder?


poi ho un altro dubbio, cosa mi dice che l'operazione di recupero delle coordinate viene eseguita dal sistema nello stesso Thread ???
non c'è un modo per vedere su logCat se è stato creato un nuovo thread?
« Ultima modifica: 07 Febbraio 2012, 17:44:54 CET da qualcuno »