CERCA
PER MODELLO
FullScreen Chatbox! :)

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

Visualizzazione dei risultati da 1 a 7 su 7
Discussione:

Rotazione screen

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
    Oct 2009
    Messaggi
    27

    Ringraziamenti
    0
    Ringraziato 0 volte in 0 Posts
    Predefinito

    Rotazione screen

    Sto implementando la funzione di rotazione dello screen.
    La mia applicazione ha un'activity con un thread di background che apre una connessione HTTP per recuperare un file xml da visualizzare in una ListView, nella view principale viene mostrata una ProgressDialog nell'attesa.

    Se apro il tastierino dopo aver recuperato i dati e averli visualizzati, salvo la struttura dati (arraylist) che contiene i dati xml parsati con onRetainNonConfigurationInstance(), l'activity viene distrutta e ricreata con getLastNonConfigurationInstance(). La cosa funziona.

    Se invece apro il tastierino per passare in modalità landscape durante il "download", quindi con la progressdialog visualizzata, l'app crasha. La cosa credo abbia senso in quanto ad ogni rotazione viene distrutta l'activity e il thread che effettua la connessione remota muore.

    La cosa che non mi torna è che a rigor di logica, la nuova activity dovrebbe chiamare la onCreate() che dovrebbe a suo volta far ripartire il download con un nuovo thread....

    avete idee?
    Ultima modifica di noodles; 26-11-09 alle 12:44

  2.  
  3. #2
    Baby Droid


    Registrato dal
    Nov 2009
    Messaggi
    21

    Ringraziamenti
    1
    Ringraziato 0 volte in 0 Posts
    Predefinito

    Secondo la documentazione di android (ma non ci ho ancora giocato ), per un download è consigliabile implementare un thread che giri in background per fatti suoi e che quindi non sarà affetto da eventuali uccisioni dei suoi parenti :P
    Potresti poi o impostare una callback sul padre, o semplicemente impostare un flag da salvare tra le preferenze del programma a download completato. Anche per questo, fammi sapere come funziona la cosa e se è semplice!

  4. #3
    Baby Droid


    Registrato dal
    Oct 2009
    Messaggi
    27

    Ringraziamenti
    0
    Ringraziato 0 volte in 0 Posts
    Predefinito

    questo è quello che ho fatto e funziona infatti. Il thread gira in background. Nell'activity principale ho messo una Progressdialog per "intrattenere" l'utente e avvertirlo che è in corso il download, che viene effettuato in background dal thread. Quando il download termina, con una callback il padre viene avvisato, chiude la progressdialog e visualizza i contenuti etc...

    il problema è un'altro

  5. #4
    Baby Droid


    Registrato dal
    Nov 2009
    Messaggi
    21

    Ringraziamenti
    1
    Ringraziato 0 volte in 0 Posts
    Predefinito

    Ed infatti la cosa che non mi torna è che il thread non dovrebbe esser terminato con l'app in questione. Aspetta però, mi sono appena accorto di una cosa: potrebbe non esser richiamata affatto l'onCreate, quanto invece l'onResume (o onStart), e quindi per questo motivo potresti aver problemi!
    Prova un secondo a dare un occhio a questo e prova a cambiare il codice in onCreate ed inserirne parte (quella che ti interessa per il thread) in onStart o onResume, e vedi se funziona :P

  6. #5
    Baby Droid


    Registrato dal
    Oct 2009
    Messaggi
    27

    Ringraziamenti
    0
    Ringraziato 0 volte in 0 Posts
    Predefinito

    Quote Originariamente inviato da bigalex Visualizza il messaggio
    Ed infatti la cosa che non mi torna è che il thread non dovrebbe esser terminato con l'app in questione. Aspetta però, mi sono appena accorto di una cosa: potrebbe non esser richiamata affatto l'onCreate, quanto invece l'onResume (o onStart), e quindi per questo motivo potresti aver problemi!
    Prova un secondo a dare un occhio a questo e prova a cambiare il codice in onCreate ed inserirne parte (quella che ti interessa per il thread) in onStart o onResume, e vedi se funziona :P
    ok, domani lo farò, ora sono troppo cotto

    grazie per le risposte, vi farò sapere.

  7. #6
    Baby Droid


    Registrato dal
    Nov 2009
    Messaggi
    21

    Ringraziamenti
    1
    Ringraziato 0 volte in 0 Posts
    Predefinito

    Non preoccuparti, anzi, fammi sapere, visto che anche io a breve avrò questo problema (anche se contavo di usare anzichè un thread, magari un servizio che fosse richiamato ad ogni connessione via 3g o wifi, e vedere se sia il caso o meno di effettuare una ricerca di aggiornamenti).

    Buonanotte ed a domani

  8. #7
    Baby Droid


    Registrato dal
    Oct 2009
    Messaggi
    27

    Ringraziamenti
    0
    Ringraziato 0 volte in 0 Posts
    Predefinito

    ho provato con onResume() e onStart() e non funziona. Facendo dei test con i Log di android, ho verificato che il thread non muore durante la rotazione, ma l'activity viene distrutta e ricreata dalla onCreate().

    Per ora non ci sto levando le gambe.

Discussioni simili

  1. rotazione manuale
    Da pol18 nel forum Richiesta Applicazioni
    Risposte: 0
    Ultimo messaggio: 10-11-09, 14:51
  2. rotazione manuale
    Da pol18 nel forum HTC Magic
    Risposte: 5
    Ultimo messaggio: 02-10-09, 20:14
  3. rotazione dello schermo
    Da pius nel forum HTC Magic
    Risposte: 0
    Ultimo messaggio: 29-07-09, 01:10
  4. rotazione schermo magic
    Da ranokkioverde nel forum HTC Magic
    Risposte: 0
    Ultimo messaggio: 22-06-09, 14:46
  5. Abilitare la rotazione
    Da wozlay nel forum HTC Dream / Tmobile G1
    Risposte: 3
    Ultimo messaggio: 09-02-09, 12:49

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