Autore Topic: Splashscreen su thread  (Letto 693 volte)

Offline elfo83

  • Utente normale
  • ***
  • Post: 283
  • Respect: +23
    • Mostra profilo
  • Sistema operativo:
    Mac OS 10.8.2
Splashscreen su thread
« il: 27 Giugno 2013, 02:48:44 CEST »
0
Ciao a tutti, qualcuno ha idea di come far gestire uno splashscreen ad un singolo thread? Nel momento in cui la splashscreen viene gestita dal UI e andiamo a toccare il display quando la sta caricando, l'applicazione va in not responding? Qualcuno può mostrare qualche esempio? Grazie

Offline GabMarioPower

  • Moderatore globale
  • Utente senior
  • *****
  • Post: 606
  • Respect: +152
    • Github
    • Google+
    • gabrielemariotti
    • GabMarioPower
    • Mostra profilo
  • Play Store ID:
    GAB+MARIO+DEV
  • Sistema operativo:
    Ubuntu 14.04 , Win 10
Re:Splashscreen su thread
« Risposta #1 il: 27 Giugno 2013, 16:07:56 CEST »
0
Perchè vuoi realizzare un SplashScreen?

Dai una occhiata a questo thread:
http://www.anddev.it/index.php/topic,10047.msg54152.html#msg54152

Offline elfo83

  • Utente normale
  • ***
  • Post: 283
  • Respect: +23
    • Mostra profilo
  • Sistema operativo:
    Mac OS 10.8.2
Re:Splashscreen su thread
« Risposta #2 il: 27 Giugno 2013, 16:21:33 CEST »
0
Grazie per la risposta, dopo gli darò un'occhiata. In realtà sto lavorando su un progetto che è stato iniziato da un'altro programmatore e per di+ anche il web designer vuole questa benedetta splashscreen, modello Ruzzle diciamo. Il mio problema è che la mia splash screen funziona ma se tocco il display ed eseguo qualche movimento con il dito, l'applicazione va in waiting. Dovrebbe essere fatto tutto su un thread diverso da quello della UI ma non ho le idee molto chiare su come farlo.

Offline GabMarioPower

  • Moderatore globale
  • Utente senior
  • *****
  • Post: 606
  • Respect: +152
    • Github
    • Google+
    • gabrielemariotti
    • GabMarioPower
    • Mostra profilo
  • Play Store ID:
    GAB+MARIO+DEV
  • Sistema operativo:
    Ubuntu 14.04 , Win 10
Re:Splashscreen su thread
« Risposta #3 il: 27 Giugno 2013, 16:31:23 CEST »
0
Grazie per la risposta, dopo gli darò un'occhiata. In realtà sto lavorando su un progetto che è stato iniziato da un'altro programmatore e per di+ anche il web designer vuole questa benedetta splashscreen, modello Ruzzle diciamo. Il mio problema è che la mia splash screen funziona ma se tocco il display ed eseguo qualche movimento con il dito, l'applicazione va in waiting. Dovrebbe essere fatto tutto su un thread diverso da quello della UI ma non ho le idee molto chiare su come farlo.

E' importante capire che ogni ambiente ha i suoi standard e linee guida e ciascun utente è abituato a quello in cui si trova.
Lo splash screen su Apple è quasi nativo, per l'utente finale è qualcosa di normale.
Su Android no, l'utente non lo vede nelle altre app... ed è portato a disinstallare l'app subito.
L'esempio di Ruzzle è pertinente solo se stai facendo un game... i game hanno delle proprie logiche.

Offline elfo83

  • Utente normale
  • ***
  • Post: 283
  • Respect: +23
    • Mostra profilo
  • Sistema operativo:
    Mac OS 10.8.2
Re:Splashscreen su thread
« Risposta #4 il: 27 Giugno 2013, 16:48:47 CEST »
0
Hai pienamente ragione ma vaglielo a spiegare a loro :)

Offline elfo83

  • Utente normale
  • ***
  • Post: 283
  • Respect: +23
    • Mostra profilo
  • Sistema operativo:
    Mac OS 10.8.2
Re:Splashscreen su thread
« Risposta #5 il: 07 Luglio 2013, 22:20:27 CEST »
0
Mario sono andato sul link che hai postato ma lo splashscreen è caricato su un thread che si trova comunque all'interno della UI. Io intendevo far caricare la splashscreen ad un thread all'esterno della UI in modo tale che l'applicazione non vada in not responding se si prova a toccare lo splashscreen.

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:Splashscreen su thread
« Risposta #6 il: 08 Luglio 2013, 07:55:58 CEST »
0
Mario sono andato sul link che hai postato ma lo splashscreen è caricato su un thread che si trova comunque all'interno della UI. Io intendevo far caricare la splashscreen ad un thread all'esterno della UI in modo tale che l'applicazione non vada in not responding se si prova a toccare lo splashscreen.

E' irrilevante dove sia stato creato il thread, quello che è importa è che non sia il thread di UI.
NON rispondo a domande nei messaggi privati
Bradipao @ Play Store

Offline elfo83

  • Utente normale
  • ***
  • Post: 283
  • Respect: +23
    • Mostra profilo
  • Sistema operativo:
    Mac OS 10.8.2
Re:Splashscreen su thread
« Risposta #7 il: 09 Luglio 2013, 03:11:20 CEST »
0
Forse non ho le idee ben chiare su questi benedetti Thread nonostante abbia letto diversi tutoria. Da quello che so io, se si utilizza un Asyntask, l'operazione di onprexecute() e onpostexecute si svolge sul thread principale mentre doinbackground si svolge al di fuori del UI. Nel momento in cui si usa un handler oppure i crea direttamente un oggetto Runnable e si implementa il metodo run(), l'azione dove si svolge?

Post unito: 09 Luglio 2013, 03:21:05 CEST
Da quello che ho capito una handler è il mezzo di comunicazione tra un thread e l'attività. Correggimi se sbaglio ma nel momento in cui un thread finisce di fare il suo lavoro lo comunica alla handler che aggiorna la ui? A questo serve una handler? Inoltre quando vai ad utilizzare direttamente, ad esempio, il metodo post(Runnable r...) direttamente su una view, sortisce lo stesso effetto che se creassi una handler?Non mi sono molto chiare questi concetti..
« Ultima modifica: 09 Luglio 2013, 03:21:05 CEST da elfo83, Reason: Merged DoublePost »

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:Splashscreen su thread
« Risposta #8 il: 09 Luglio 2013, 09:19:06 CEST »
0
Forse non ho le idee ben chiare su questi benedetti Thread nonostante abbia letto diversi tutoria. Da quello che so io, se si utilizza un Asyntask, l'operazione di onprexecute() e onpostexecute si svolge sul thread principale mentre doinbackground si svolge al di fuori del UI. Nel momento in cui si usa un handler oppure i crea direttamente un oggetto Runnable e si implementa il metodo run(), l'azione dove si svolge?

Post unito: 09 Luglio 2013, 03:21:05 CEST
Da quello che ho capito una handler è il mezzo di comunicazione tra un thread e l'attività. Correggimi se sbaglio ma nel momento in cui un thread finisce di fare il suo lavoro lo comunica alla handler che aggiorna la ui? A questo serve una handler? Inoltre quando vai ad utilizzare direttamente, ad esempio, il metodo post(Runnable r...) direttamente su una view, sortisce lo stesso effetto che se creassi una handler?Non mi sono molto chiare questi concetti..

Non è che in una risposta riesco a riassumerti interi capitoli di libri.

Però ti posso dire che se usi AsyncTask è tutto molto più semplice, dato l'operazione di onprexecute() e onpostexecute si svolgono sul thread principale mentre doinbackground si svolge al di fuori del UI.
NON rispondo a domande nei messaggi privati
Bradipao @ Play Store