CERCA
PER MODELLO
FullScreen Chatbox! :)

Utente del giorno: complicazio con ben 2 Thanks ricevuti nelle ultime 24 ore
Utente della settimana: 9mm con ben 11 Thanks ricevuti negli ultimi sette giorni
Utente del mese: 9mm con ben 34 Thanks ricevuti nell'ultimo mese

Visualizzazione dei risultati da 1 a 4 su 4
Discussione:

Problema schermata caricamento Actitivy

Se questa discussione ti è stata utile, ti preghiamo di lasciare un messaggio di feedback in modo che possa essere preziosa in futuro anche per altri utenti come te!
  1. #1
    Baby Droid


    Registrato dal
    Jun 2010
    Messaggi
    6

    Ringraziamenti
    0
    Ringraziato 0 volte in 0 Posts
    Predefinito

    Problema schermata caricamento Actitivy

    ciao a tutti, programmo in Android da circa 2 mesetti (io e un mio compagno di università lo stiamo utilizzando per la tesina). Nel nostro programma accade spesso che si debbano fare dei calcoli non indifferenti (3-4 secondi per dire), così abbiamo cercato sempre di inserire una qualche schermata di caricamento, mentre un thread si occupa del calcolo vero e proprio e, una volta finito, visualizza il risultato.

    In codice qualcosa del genere:

    codice:
    myProgressDialog = ProgressDialog.show(this, "Attendere...", "Calcolo Percorso...", true);
    
    new Thread() {
    
     public void run() {
    	
       //vari calcoli pesanti
    
       Intent i = new Intent(Percorso.this, Itinerario.class); //dove c'è il risulato
       startActivity(i);
       myProgressDialog.dismiss();
       		}
    
    	         }.start();
    E funziona senza problemi.
    Ora però nel mio programma ho la necessità di visualizzare il percorso sulla mappa, utilizzando le API di GoogleMaps.
    Il problema qui è che la stessa e sola creazione dell'activity occupa molto tempo (nella onCreate non c'è nulla) e ovviamente il metodo utilizzato sopra non funziona perchè la dismiss viene chiamata non appena crea l'activity e a quel punto lo schermo si blocca comunque per qualche secondo.

    C'è un modo per creare l'activity ma NON visualizzarla? Qualche altro consiglio? Grazie!

  2.  
  3. #2
    Senior Droid L'avatar di Azatoth


    Registrato dal
    Apr 2009
    Località
    Misinto (MI)
    Messaggi
    568

    Ringraziamenti
    1
    Ringraziato 38 volte in 28 Posts
    Predefinito

    Quote Originariamente inviato da rickysac Visualizza il messaggio
    ciao a tutti, programmo in Android da circa 2 mesetti (io e un mio compagno di università lo stiamo utilizzando per la tesina). Nel nostro programma accade spesso che si debbano fare dei calcoli non indifferenti (3-4 secondi per dire), così abbiamo cercato sempre di inserire una qualche schermata di caricamento, mentre un thread si occupa del calcolo vero e proprio e, una volta finito, visualizza il risultato.

    In codice qualcosa del genere:

    codice:
    myProgressDialog = ProgressDialog.show(this, "Attendere...", "Calcolo Percorso...", true);
    
    new Thread() {
    
     public void run() {
    	
       //vari calcoli pesanti
    
       Intent i = new Intent(Percorso.this, Itinerario.class); //dove c'è il risulato
       startActivity(i);
       myProgressDialog.dismiss();
       		}
    
    	         }.start();
    E funziona senza problemi.
    Ora però nel mio programma ho la necessità di visualizzare il percorso sulla mappa, utilizzando le API di GoogleMaps.
    Il problema qui è che la stessa e sola creazione dell'activity occupa molto tempo (nella onCreate non c'è nulla) e ovviamente il metodo utilizzato sopra non funziona perchè la dismiss viene chiamata non appena crea l'activity e a quel punto lo schermo si blocca comunque per qualche secondo.

    C'è un modo per creare l'activity ma NON visualizzarla? Qualche altro consiglio? Grazie!
    e se invece di usare startActivity, usassi startActivityForResult?

    As a special case, if you call startActivityForResult() with a requestCode >= 0 during the initial onCreate(Bundle savedInstanceState)/onResume() of your activity, then your window will not be displayed until a result is returned back from the started activity. This is to avoid visible flickering when redirecting to another activity.


    Google Nexus One USA
    ROM: CyanogenMod 6.1.1 - Android 2.2.1
    Radio: 5.12.00.08
    Recovery: Clockwork

    Sviluppatore di: Swapper per utenti root | Modus Operandi

    Ecco le mie app Android

  4. #3
    Baby Droid


    Registrato dal
    Jun 2010
    Messaggi
    6

    Ringraziamenti
    0
    Ringraziato 0 volte in 0 Posts
    Predefinito

    Grazie della risposta però non risolve il mio problema... infatti quando chiamo la startActivityForResult l'activity padre rimane in attesa della risposta da parte del figlio e si blocca completamente... inoltre una cosa, come si fa a richiamare l'activity in questione dopo averla creata e aver ricevuto il risultato? IO faccio break() ma evidentemente non mi pare il metodo migliore...

  5. #4
    Administrator L'avatar di Andrea


    Registrato dal
    Nov 2008
    Messaggi
    3,368
    Smartphone
    Nexus S, myTouch Slide 4g

    Ringraziamenti
    143
    Ringraziato 880 volte in 323 Posts
    Predefinito

    Intanto c'è da capire cosa occupa tempo nella creazione dell'activity... E' la creazione dell'overlay?

    Twitter @veke87

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire risposte
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Torna su
Privacy Policy