Autore Topic: Fermare esecuzione codice per qualche istante.  (Letto 749 volte)

Offline scaforchio

  • Nuovo arrivato
  • *
  • Post: 15
  • Respect: 0
    • Mostra profilo
  • Sistema operativo:
    Ubuntu Linux
Fermare esecuzione codice per qualche istante.
« il: 13 Gennaio 2011, 10:27:04 CET »
0
Salve a tutti.

E' il mio primo messaggio nel forum. Ho iniziato a sviluppare app android da qualche giorno e, ovviamente, non ho ancora le idee chiarissime.

Nell'applicazione che sto sviluppando ho bisogno di fermare l'esecuzione del codice per qualche secondo prima di proseguire. Esiste un metodo semplice (tipo pause() per intenderci) che mi consenta di fermare il programma e farlo ripartire dopo un tempo prefissato?

Ho provato a cercare nella documentazione ma non ho trovato niente.


Ciao e grazie.

Offline scaforchio

  • Nuovo arrivato
  • *
  • Post: 15
  • Respect: 0
    • Mostra profilo
  • Sistema operativo:
    Ubuntu Linux
Re:Fermare esecuzione codice per qualche istante.
« Risposta #1 il: 13 Gennaio 2011, 10:57:55 CET »
0
Mi autorispondo:  :-P

SystemClock.sleep(1000);

Ciao.

Offline bradipao

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 4043
  • keep it simple
  • Respect: +567
    • Github
    • Google+
    • bradipao
    • Mostra profilo
  • Dispositivo Android:
    Nexus 5
  • Play Store ID:
    Bradipao
  • Sistema operativo:
    W7
Re:Fermare esecuzione codice per qualche istante.
« Risposta #2 il: 13 Gennaio 2011, 11:44:41 CET »
0
Mi autorispondo:  :-P

SystemClock.sleep(1000);

Attenzione, bloccare in questo modo l'esecuzione del main thread (l'UI thread) non è raccomandabile.

A seconda del motivo per cui lo fai, imposta un timer, auto-inviati un messaggio delayed, oppure usa un thread e blocca quello (per quanto ne posso sapere potresti già fare così, ma nel dubbio lo scrivo).
NON rispondo a domande nei messaggi privati
Bradipao @ Play Store

Offline Nicola_D

  • Utente storico
  • *****
  • Post: 2479
  • SBAGLIATO!
  • Respect: +323
    • Github
    • Google+
    • nicoladorigatti
    • Mostra profilo
  • Dispositivo Android:
    Nexus 6p, Nexus 4, Nexus S, Nexus 7(2012)
  • Sistema operativo:
    Windows 7
Re:Fermare esecuzione codice per qualche istante.
« Risposta #3 il: 13 Gennaio 2011, 12:24:36 CET »
0
anche perchè essendo un programma visuale, non ha bisogno di "bloccare" tutto. Ti basta come detto dal buon bradipao fare un runnable in cui metti lo sleep. Finito lo sleep richiami una funzione dell'UIThread usando un'handler.
IMPORTANTE:NON RISPONDO A PROBLEMI VIA MESSAGGIO PRIVATO
LOGCAT: Non sai cos'è? -> Android Debug Bridge | Android Developers
               Dov'è in Eclipse? -> Window -> Open Prospective -> DDMS e guarda in basso!
[Obbligatorio] Logcat, questo sconosciuto! (Gruppo AndDev.it LOGTFO) - Android Developers Italia

Offline blackgin

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 1387
  • Respect: +164
    • Google+
    • blackgins
    • blackginsoft
    • Mostra profilo
  • Dispositivo Android:
    Galaxy Nexus
  • Sistema operativo:
    Mac OSX 10.8
Re:Fermare esecuzione codice per qualche istante.
« Risposta #4 il: 13 Gennaio 2011, 15:31:44 CET »
0
Tra l'altro mi sorge un dubbio. Se si usa il SystemClock.sleep() non si rischia di fare andare l'app in ANR?
Postate il LogCat LogCat LogCat LogCat LogCat

Offline Nicola_D

  • Utente storico
  • *****
  • Post: 2479
  • SBAGLIATO!
  • Respect: +323
    • Github
    • Google+
    • nicoladorigatti
    • Mostra profilo
  • Dispositivo Android:
    Nexus 6p, Nexus 4, Nexus S, Nexus 7(2012)
  • Sistema operativo:
    Windows 7
Re:Fermare esecuzione codice per qualche istante.
« Risposta #5 il: 13 Gennaio 2011, 17:54:34 CET »
0
Tra l'altro mi sorge un dubbio. Se si usa il SystemClock.sleep() non si rischia di fare andare l'app in ANR?
per piu di 4 secondi però,no?
IMPORTANTE:NON RISPONDO A PROBLEMI VIA MESSAGGIO PRIVATO
LOGCAT: Non sai cos'è? -> Android Debug Bridge | Android Developers
               Dov'è in Eclipse? -> Window -> Open Prospective -> DDMS e guarda in basso!
[Obbligatorio] Logcat, questo sconosciuto! (Gruppo AndDev.it LOGTFO) - Android Developers Italia

Offline MarcoDuff

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 1073
  • Respect: +202
    • Google+
    • marcoduff
    • Mostra profilo
    • MarcoDuff's Blog
  • Dispositivo Android:
    Samsung Galaxy Nexus
  • Play Store ID:
    MarcoDuff
  • Sistema operativo:
    Windows 7
Re:Fermare esecuzione codice per qualche istante.
« Risposta #6 il: 13 Gennaio 2011, 18:28:11 CET »
0
Tra l'altro mi sorge un dubbio. Se si usa il SystemClock.sleep() non si rischia di fare andare l'app in ANR?

Assolutamente si e mi associo alle altre risposte! ;)