CERCA
PER MODELLO
FullScreen Chatbox! :)

Utente del giorno: 9mm con ben 3 Thanks ricevuti nelle ultime 24 ore
Utente della settimana: 9mm con ben 8 Thanks ricevuti negli ultimi sette giorni
Utente del mese: 9mm con ben 29 Thanks ricevuti nell'ultimo mese

Pagina 1 di 3 123 ultimoultimo
Ultima pagina
Visualizzazione dei risultati da 1 a 10 su 26
Discussione:

Incertezze sul ProgressDialog

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
    Androidiano L'avatar di Vinz87


    Registrato dal
    Jun 2011
    Messaggi
    63

    Ringraziamenti
    3
    Ringraziato 3 volte in 3 Posts
    Predefinito

    Incertezze sul ProgressDialog

    Salve, ho fatto un modulo di login e vorrei che al click del mio bottone loggati, prima di caricarmi la view successiva, mi comparisse una ProgressDialog, potete aiutarmi?
    Ho capito come crearla, ne ho creata una in una classe a parte come prova, ma non ho capito molto bene come far incrementare il numero del suo conteggio da 1 a 100 durante l'attesa che avviene quando il mio client android invia i dati al server..potete aiutarmi?
    Grazie mille
    Vincenzo

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


    Registrato dal
    Oct 2010
    Messaggi
    314

    Ringraziamenti
    3
    Ringraziato 27 volte in 26 Posts
    Predefinito

    Quote Originariamente inviato da Vinz87 Visualizza il messaggio
    Salve, ho fatto un modulo di login e vorrei che al click del mio bottone loggati, prima di caricarmi la view successiva, mi comparisse una ProgressDialog, .......
    E se usassi la PogressDialog con tempo infinito? Mi spiego meglio..
    Se invece di visualizzare una barra di avanzamento tu tenessi quella circolare che da l'idea graficamente che si sta facendo qualcosa (quindi di aspettare) e intanto come surplus e non obbligatoriamente notificassi cosa avviene?

    Per poter dire son al punto 50/100 dovresti suddividere un po' di cosette e capire cosa e quanto tempo usano le varie operazioni che stai facendo secondo me..



    Dopo ti devi gestire la visualizzazione ma in questo modo ti crei una progress dialog (tipo così immagine esempio) a cui tenendo il riferimento puoi portare un aggiornamento ogni x operazioni.

    Tipo:
    "Verifica dispositivo"
    "Verifica del nome utente"
    "Abilitazione bla bla"
    ....

    quando hai finito
    My School Manager: per Genitori e Alunni
    Memory il gioco di quando eri bambino
    Yummes WallPaper un simpatico wallpaper

    My WebSite:
    AlchemiaAndroid

    My Blog:
    AlchemiaSoft

  4. #3
    Androidiano L'avatar di Vinz87


    Registrato dal
    Jun 2011
    Messaggi
    63

    Ringraziamenti
    3
    Ringraziato 3 volte in 3 Posts
    Predefinito

    Si, ma infatti io volevo fare una cosa che iterasse finchè non invia i dati, ma come faccio a fargli capire alla dialog che quando avviene l'invio dei dati deve smettere di caricare? è qui che mi sono incartato, volevo provare con uno sleep però se quando termina ancora non ho inviato i dati..è un pò una fregatura..e quindi non so come fare..
    Vincenzo

  5. #4
    Senior Droid L'avatar di dhalia


    Registrato dal
    Oct 2010
    Messaggi
    314

    Ringraziamenti
    3
    Ringraziato 27 volte in 26 Posts
    Predefinito

    Quote Originariamente inviato da Vinz87 Visualizza il messaggio
    Si, ma infatti io volevo fare una cosa che iterasse finchè non invia i dati, ma come faccio a fargli capire alla dialog che quando avviene l'invio dei dati deve smettere di caricare? è qui che mi sono incartato, volevo provare con uno sleep però se quando termina ancora non ho inviato i dati..è un pò una fregatura..e quindi non so come fare..
    Mmmm aspetta... quando hai finito di inviare i dati deve smetter di far iterar la progress dialog? hai una progress dialog che stai iterando e appena inizia l'invio dati smette? perchè non si capisce bene nel secondo caso a che serva..

    Comunque se è il primo caso, è l'utente non deve poter far altro intanto, anche perchè si becca una dialog che gli occupa una bella fetta dello schermo per fargli capir di aspettare tu la visualizzi tramite:

    My School Manager: per Genitori e Alunni
    Memory il gioco di quando eri bambino
    Yummes WallPaper un simpatico wallpaper

    My WebSite:
    AlchemiaAndroid

    My Blog:
    AlchemiaSoft

  6. #5
    Androidiano L'avatar di Vinz87


    Registrato dal
    Jun 2011
    Messaggi
    63

    Ringraziamenti
    3
    Ringraziato 3 volte in 3 Posts
    Predefinito

    la progress dialog deve dire all'utente di aspettare, finchè i dati non vengono inviati al server, quindi finchè non viene inviata la richiesta http lui deve continuare a girare, dopo, deve capire che è stata inviata e deve smettere.
    Vincenzo

  7. #6
    Androidiano L'avatar di Vinz87


    Registrato dal
    Jun 2011
    Messaggi
    63

    Ringraziamenti
    3
    Ringraziato 3 volte in 3 Posts
    Predefinito

    ok, ho capito adesso che quello che voglio fare io, lo devo implementare con gli asyncstask, solo che non ho la più pallida idea da dove cominciare, mi potreste indicare qualche guida buona? magari in italiano, anche se in inglese me la cavo abbastanza bene, grazie ancora
    Vincenzo

  8. #7
    Senior Droid L'avatar di dhalia


    Registrato dal
    Oct 2010
    Messaggi
    314

    Ringraziamenti
    3
    Ringraziato 27 volte in 26 Posts
    Predefinito

    Scusa il ritardo, ieri son stato in città perchè c'era festa hehe

    Ahaha ora ho capito meglio! non lo hai ancora il codice per fare le varie richieste! Comuque AsyncTask è diciamo una semplificazione nell'uso dei thread, se vuoi qui c'è un pezzettino di codice che avevo scritto per il mio giochino




    Ora non guardare il codice perchè tanto non si capisce nulla praticamente di quello che fa non avendo idea del resto che c'è dietro ma concentrati su cosa fa e chiede questa classe.

    Hai un AsynckTasck<?,?,?> (tipo dati doInBackground, tipo dati onProgressUpdate e tipo dati onPostExecute)

    E poi diciamo che hai un ciclo di vita forzato per il AsyncTask (pre - do - progress - post) a meno di una cancellazione dello stesso.

    Ricordati che le operazioni che vanno a interagire con la GUI NON le devi fare nel doInBackground che diciamo è un po' il tuo runnable.

    Poi per il resto è banale scrivere e molto più semplificato di usare un thread ecc..
    My School Manager: per Genitori e Alunni
    Memory il gioco di quando eri bambino
    Yummes WallPaper un simpatico wallpaper

    My WebSite:
    AlchemiaAndroid

    My Blog:
    AlchemiaSoft

  9. #8
    Androidiano L'avatar di Vinz87


    Registrato dal
    Jun 2011
    Messaggi
    63

    Ringraziamenti
    3
    Ringraziato 3 volte in 3 Posts
    Predefinito

    scusami, ma se le richieste non le devo fare nel doInBackground dove le devo fare? nel thread? se si..allora nell'asynctask cosa dovrei implementare? solamente la progress dialog?
    quindi avrei thread->connessione+task progress dialog
    asynctask->implementazione della progress dialog..

    Ho capito bene?
    Scusami se ti sto scocciando, ma è una cosa che vorrei capire bene..perchè saperla usare potrebbe essere molto utile
    Grazie ancora per il tuo aiuto
    Vincenzo

  10. #9
    Senior Droid L'avatar di dhalia


    Registrato dal
    Oct 2010
    Messaggi
    314

    Ringraziamenti
    3
    Ringraziato 27 volte in 26 Posts
    Predefinito

    Quote Originariamente inviato da Vinz87 Visualizza il messaggio
    scusami, ma se le richieste non le devo fare nel doInBackground dove le devo fare? nel thread? se si..allora nell'asynctask cosa dovrei implementare? solamente la progress dialog?
    quindi avrei thread->connessione+task progress dialog
    asynctask->implementazione della progress dialog..

    Ho capito bene?
    Scusami se ti sto scocciando, ma è una cosa che vorrei capire bene..perchè saperla usare potrebbe essere molto utile
    Grazie ancora per il tuo aiuto
    Tranqui, così faccio una pausetta tra un capitolo e l'altro di sistemi operativi
    Allora se l'utente ha la schermata bloccata io non lo userei nemmeno il thread..
    Visualizzeri la ProgressDialog, farei le mie operazioni (magari ogni tanto cambiando il testo del messaggio tanto per far capire che qualcosa si sta facendo) e poi terminate le operazioni farei il dismiss della dialog e farei quello che devi fare dopo. Mmm tipo uno startActivity all'activity che hai scelto per l'autenticazione o la visualizzazione di dati, ....

    Tornando ad AsyncTask per come è stato concepito android le modifiche che fai alla gui le fai unicamente nel thread principale (grafico).. se provi a farle nel doInBackground, potrai provarlo tu stesso ti crasha l'applicazione
    Quindi l'idea è:
    - faccio qualcosa nel doInBackground
    - pubblico il risultato al onProgressUpdate attraverso publishProgress(dato da passare)

    Per dirti io userei e ho usato AsyncTask quando devo fare delle operazioni che non voglio intacchino l'uso dell'app all'utente:
    - download di un immagine da internet (così la visualizzi solo quando la hai e l'utente può usare lo stesso l'app)
    - un timer (tipo nel giochino del memory per visualizzare il tempo)
    - lo stesso esempio sopra (visualizza le carte per un po' e poi le rigira ma l'utente non ha l'app bloccata così)

    Spero di esser stato più chiaro
    My School Manager: per Genitori e Alunni
    Memory il gioco di quando eri bambino
    Yummes WallPaper un simpatico wallpaper

    My WebSite:
    AlchemiaAndroid

    My Blog:
    AlchemiaSoft

  11. Il seguente Utente ha ringraziato dhalia per il post:

    Vinz87 (26-06-11)

  12. #10
    Androidiano L'avatar di Vinz87


    Registrato dal
    Jun 2011
    Messaggi
    63

    Ringraziamenti
    3
    Ringraziato 3 volte in 3 Posts
    Predefinito

    ma quindi asynctask si occupa solo delle modifiche grafiche dell'app??
    Vincenzo

Pagina 1 di 3 123 ultimoultimo
Ultima pagina

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