CERCA
PER MODELLO
FullScreen Chatbox! :)

Utente del giorno: 9mm con ben 1 Thanks ricevuti nelle ultime 24 ore
Utente della settimana: elmegio con ben 7 Thanks ricevuti negli ultimi sette giorni
Utente del mese: bluemask con ben 43 Thanks ricevuti nell'ultimo mese

Pagina 1 di 2 12 ultimoultimo
Ultima pagina
Visualizzazione dei risultati da 1 a 10 su 13
Discussione:

cambiare automaticamente activity

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


    Registrato dal
    Oct 2010
    Messaggi
    107

    Ringraziamenti
    22
    Ringraziato 1 volta in 1 Post
    Predefinito

    cambiare automaticamente activity

    Salve a tutti. Devo sviluppare un'applicazione android. La vorrei fare come si deve. Per cambiare le schermate(ovvero le activity) non voglio utilizzare i bottoni, pulsanti. Vorrei cambiare le schermate automaticamente(certo non tutte, ma almeno quelle iniziali) In android non esiste un main assoluto, come invece avviene per java. Ogni activity ha un ciclo di vita:onpause(), onResume() e altri. Ma non credo che dovrei usare il lifecycle per cambiare autamticamente le schermate.....ho provato un pò, ma non mi sembra che sia la soluzione.
    un aiutino???
    Grazie in anticipo

  2.  
  3. #2
    Androidiano


    Registrato dal
    Oct 2010
    Messaggi
    107

    Ringraziamenti
    22
    Ringraziato 1 volta in 1 Post
    Predefinito

    Per lo meno, c'è qualcosa su cui potrei imparare a navigare tra le activity nello stack? tipo qualche api dell'sdk... non vorrei guardarmele tutte e poi lì non c'è niente!

  4. #3
    Senior Droid L'avatar di Cymon


    Registrato dal
    Jul 2010
    Messaggi
    419

    Ringraziamenti
    7
    Ringraziato 43 volte in 42 Posts
    Predefinito

    Pardon, potresti spiegarmi per quale motivo le Activities dovrebbero cambiare da sole?
    Tecnicamente una activity viene invocata tramite un intent che quindi mette in pausa l'activity che l'ha lanciata e così si forma lo stack dell'applicazione. Molto spesso gli intent sono triggerati dai pulsanti e da cose del genere... non capisco il tuo bisogno di movimento "automatico" tra le activity...
    La mia katana: Slackware 13.1
    La mia wakizashi: Acer A1 Liquid con Android 2.1 Eclair
    Il mio sito: Follow the rabbit (con la sua App )

  5. #4
    Senior Droid


    Registrato dal
    Dec 2009
    Messaggi
    307

    Ringraziamenti
    15
    Ringraziato 40 volte in 39 Posts
    Predefinito

    Cosa devono mostrare di diverso tra loro queste activity?
    Una sola in cui cambi il contenuto magari tramite un timer non ti basta?

  6. #5
    Androidiano


    Registrato dal
    Oct 2010
    Messaggi
    107

    Ringraziamenti
    22
    Ringraziato 1 volta in 1 Post
    Predefinito

    si infatti ho provato con thread.sleep() ma non funziona alla perfezione! però avevo fatto più activity! domani(perchè adesso stò con un'altro pc) provo a cambiare contenuto in una sola activity sempre usando thread.sleep!

  7. #6
    Androidiano


    Registrato dal
    Oct 2010
    Messaggi
    107

    Ringraziamenti
    22
    Ringraziato 1 volta in 1 Post
    Predefinito

    Quote Originariamente inviato da Cymon Visualizza il messaggio
    Pardon, potresti spiegarmi per quale motivo le Activities dovrebbero cambiare da sole?
    Tecnicamente una activity viene invocata tramite un intent che quindi mette in pausa l'activity che l'ha lanciata e così si forma lo stack dell'applicazione. Molto spesso gli intent sono triggerati dai pulsanti e da cose del genere... non capisco il tuo bisogno di movimento "automatico" tra le activity...
    Non sò se hai presente... alcune apllicazioni quando si installano, visualizzano schermate del tipo: "grazie per l'installazione" poi automaticamente si visualizza un'altra frase ad esempio"bemvenuto nell'applicazione" o altre cose simili... io volevo fare una cosa così. Avevo da subito pensato a thread.sleep() ma non mi visualizza direttamente l'ultima activity e non la prima....proprio perchè si costruisce la pila....

  8. #7
    Senior Droid L'avatar di Cymon


    Registrato dal
    Jul 2010
    Messaggi
    419

    Ringraziamenti
    7
    Ringraziato 43 volte in 42 Posts
    Predefinito

    Credo di aver risolto.
    Partendo da questo articolo ho realizzato la cosa utilizzando un handler.
    L'unico codice rilevante è quello della classe di partenza:



    In pratica la onCreate crea un Handler che fa partire un messaggio che deve arrivare 5 secondi dopo l'invio e imposta l'attività stessa come ricevente (e quindi bisogna implementare l'interfaccia runnable). Quando il messaggio arriva il metodo run non va altro che invocare l'attività successiva.
    Questo metodo funziona perchè non introduce nessun effettivo sleep all'interno dei vari metodi del ciclo di vita dell'attività. Provando invece a infilare degli sleep nella onCreate, tipo, ho notato che l'attività di partenza non veniva proprio visualizzata...

    Io la soluzione l'ho trovata, ma volevo dirti che odio visceralmente le app e le applicazioni con schermatine di benvenuto e inutilia del genere e sono solito augurare i peggiori mali ai programmatori che le fanno comparire.
    Ma questo rimane un paese libero
    Ultima modifica di Cymon; 30-12-10 alle 00:16
    La mia katana: Slackware 13.1
    La mia wakizashi: Acer A1 Liquid con Android 2.1 Eclair
    Il mio sito: Follow the rabbit (con la sua App )

  9. I seguenti 2 Utenti hanno ringraziato Cymon per il post:

    allmystery (30-12-10),andrta (24-07-12)

  10. #8
    Senior Droid


    Registrato dal
    Dec 2009
    Messaggi
    307

    Ringraziamenti
    15
    Ringraziato 40 volte in 39 Posts
    Predefinito

    Quote Originariamente inviato da Cymon Visualizza il messaggio
    Questo metodo funziona perchè non introduce nessun effettivo sleep all'interno dei vari metodi del ciclo di vita dell'attività. Provando invece a infilare degli sleep nella onCreate, tipo, ho notato che l'attività di partenza non veniva proprio visualizzata...
    Beh, mi sembra ovvio che con le sleep non visualizzava un tubo, visto che interrompendo il thread non termina l'esecuzione della onCreate e quindi l'activity non viene mai visualizzata finchè quel metodo non termina! Ma una volta terminato il metodo siginifica anche aver già fatto passare lo sleep e quindi caricato pure la successiva activity, quindi o non la si vede proprio la prima o la si vede per una frazione di secondo prima di visualizzare la seconda!

  11. #9
    Senior Droid L'avatar di Cymon


    Registrato dal
    Jul 2010
    Messaggi
    419

    Ringraziamenti
    7
    Ringraziato 43 volte in 42 Posts
    Predefinito

    Quote Originariamente inviato da Orochi Visualizza il messaggio
    Beh, mi sembra ovvio che con le sleep non visualizzava un tubo, visto che interrompendo il thread non termina l'esecuzione della onCreate e quindi l'activity non viene mai visualizzata finchè quel metodo non termina! Ma una volta terminato il metodo siginifica anche aver già fatto passare lo sleep e quindi caricato pure la successiva activity, quindi o non la si vede proprio la prima o la si vede per una frazione di secondo prima di visualizzare la seconda!
    Che non si veda sulla onCreate sono d'accordo, ma ho notato che si inchioda anche sulla onResume e sulla onStart e pure cercare di fargli saltar su la schermata dopo che il focus è andato sulla finestra non aiuta...
    Ho anche cercato modi per forzare la visualizzazione, ma non ne ho trovati.

    Comunque il metodo via handler dovrebbe essere la best practice, anche se sono disponibile a sentire altre idee..
    La mia katana: Slackware 13.1
    La mia wakizashi: Acer A1 Liquid con Android 2.1 Eclair
    Il mio sito: Follow the rabbit (con la sua App )

  12. #10
    Senior Droid


    Registrato dal
    Dec 2009
    Messaggi
    307

    Ringraziamenti
    15
    Ringraziato 40 volte in 39 Posts
    Predefinito

    Quote Originariamente inviato da Cymon Visualizza il messaggio
    Che non si veda sulla onCreate sono d'accordo, ma ho notato che si inchioda anche sulla onResume e sulla onStart e pure cercare di fargli saltar su la schermata dopo che il focus è andato sulla finestra non aiuta...
    Ho anche cercato modi per forzare la visualizzazione, ma non ne ho trovati.

    Comunque il metodo via handler dovrebbe essere la best practice, anche se sono disponibile a sentire altre idee..
    Ma la onResume e la onStart vengono chiamate subito dopo la onCreate! Per lo stesso motivo per cui non funzionava nella onCreate non può funzionare neanche lì!

    Comunque sì l'unica è fare in quel modo, con un handler si esegue l'azione "in differita" dopo che è passato il tempo impostato! Altre strade non ne vedo, se non varianti di questa (tipo magari lanciare un thread in background che trascorso un tot chiama qualcosa nell'activity principale... ma il risultato è lo stesso con un sforzo maggiore inutile!)

    Tra l'altro va comunque tenuto in considerazione che usando questo sistema una volta arrivati all'ultima activity da visualizzare, le altre saranno sempre presenti nello stack e quindi quando poi si dovrà gestire il back dell'activity bisognerà fare qualche altro casotto..........

Pagina 1 di 2 12 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