Autore Topic: callback? ??  (Letto 535 volte)

Offline pietroconti89

  • Utente normale
  • ***
  • Post: 164
  • Respect: +19
    • Mostra profilo
  • Dispositivo Android:
    Galaxy Note 3 N9005
  • Sistema operativo:
    Windows / Mac OSX
callback? ??
« il: 17 Settembre 2015, 00:31:32 CEST »
0
Ciao a tutti per quanto mi capiti di vederle impiegate proprio non capisco cosa sono e soprattutto come impiegarle. .. ovviamente parlo delle callback ... qualcuno può illuminarmi o avete qualche riferimento ?
 Scusate se non ho utilizzato la sezione corretta

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:callback? ??
« Risposta #1 il: 17 Settembre 2015, 08:02:16 CEST »
0
Ciao a tutti per quanto mi capiti di vederle impiegate proprio non capisco cosa sono e soprattutto come impiegarle. .. ovviamente parlo delle callback ... qualcuno può illuminarmi o avete qualche riferimento ?
 Scusate se non ho utilizzato la sezione corretta

Introduzione breve e semplicistica, ma spero ti basti: i primi programmi che si scrivono sono basati sul concetto che l'esecuzione procede linearmente da un'istruzione a quella successiva, eventualmente facendo salti, ma senza interrompere mai il flusso del programma. Quando un'istruzione di questa sequenza ha bisogno di un tempo non indifferente per terminare, di fatto il programma risulta bloccato, in attesa che termini. Comportamento accettabile in certe condizioni e su certe piattaforme, ma non certo su sistemi multitasking in cui si presuppone che nessuna operazione blocchi il dispositivo in attesa del completamento.

L'approccio a callback è diverso: quando devi eseguire un'operazione molto lunga (nel nostro caso di solito è una richiesta http), tu lanci l'operazione e dici al sistema di richiamarti (in inglese call back), quando ha finito. E come fa a richiamarti? Tu dici al sistema: "guarda, quando hai finito, esegui questa mia funzione PIPPO". La funzione PIPPO è una funzione di "callback", cioè è quella che usa il sistema per richiamarti al termine delle operazioni.

Questo approccio è anche chiamato "programmazione ad eventi" o "programmazione asincrona".
NON rispondo a domande nei messaggi privati
Bradipao @ Play Store

Offline pietroconti89

  • Utente normale
  • ***
  • Post: 164
  • Respect: +19
    • Mostra profilo
  • Dispositivo Android:
    Galaxy Note 3 N9005
  • Sistema operativo:
    Windows / Mac OSX
Re:callback? ??
« Risposta #2 il: 17 Settembre 2015, 11:11:30 CEST »
0
spiegazione chiara , grazie  :D ora mi manca un esempio tangibile ... cercherò un pò ... al più mi son posto questa cosa perchè attualmente i miei progettini li forzo tutti a stare in posizione portrait, in quanto esattamente quando faccio richieste http con asyntask al cambio di orientamento crasha , a meno che non rendo l'asyn cancellabile al cambio stesso di come si orienta il display ... e leggendo un pò ho visto proprio che il tutto è gestibile tramite callback , come un altra situazione è che se implemento una progressbar in una dialog sempre al cambio di orientamento essa continui e non si interrompa o ricominci da capo...  :-P

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:callback? ??
« Risposta #3 il: 17 Settembre 2015, 13:40:42 CEST »
0
spiegazione chiara , grazie  :D ora mi manca un esempio tangibile ...

La stessa OnPreExecute (o Post) è in pratica una callback, perchè tu definisci una funzione che viene eseguita quando di verifica un certo evento.

Anche gli xxxListener sono callback, per lo stesso motivo.
NON rispondo a domande nei messaggi privati
Bradipao @ Play Store

Offline iClaude

  • Utente normale
  • ***
  • Post: 183
  • Respect: +13
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy S5
  • Sistema operativo:
    Windows 10
Re:callback? ??
« Risposta #4 il: 21 Settembre 2015, 12:12:34 CEST »
0
spiegazione chiara , grazie  :D ora mi manca un esempio tangibile ... cercherò un pò ... al più mi son posto questa cosa perchè attualmente i miei progettini li forzo tutti a stare in posizione portrait, in quanto esattamente quando faccio richieste http con asyntask al cambio di orientamento crasha , a meno che non rendo l'asyn cancellabile al cambio stesso di come si orienta il display ... e leggendo un pò ho visto proprio che il tutto è gestibile tramite callback , come un altra situazione è che se implemento una progressbar in una dialog sempre al cambio di orientamento essa continui e non si interrompa o ricominci da capo...  :-P

Per usare AsyncTask in caso di cambio configurazione hai due alternative:
1) disabilitare la ricreazione della Activity in caso di modifica orientamento display, es. se usi lo stesso layout
2) mantenere l'AsyncTask all'interno di un retained Frammenti

La cosa migliore cmq sarebbe gestire tutte le operazioni su internet tramite Service.

Offline pietroconti89

  • Utente normale
  • ***
  • Post: 164
  • Respect: +19
    • Mostra profilo
  • Dispositivo Android:
    Galaxy Note 3 N9005
  • Sistema operativo:
    Windows / Mac OSX
Re:callback? ??
« Risposta #5 il: 21 Settembre 2015, 13:41:53 CEST »
0
Per usare AsyncTask in caso di cambio configurazione hai due alternative:
1) disabilitare la ricreazione della Activity in caso di modifica orientamento display, es. se usi lo stesso layout
2) mantenere l'AsyncTask all'interno di un retained Frammenti

La cosa migliore cmq sarebbe gestire tutte le operazioni su internet tramite Service.
Ma se avvio un Service per fare una richiesta di tipo http come posso mostrare un ipotetico risultato su un activity /  fragment se esso è  attivo ... ?

Inviato dal mio SM-N9005 utilizzando Tapatalk


Offline iClaude

  • Utente normale
  • ***
  • Post: 183
  • Respect: +13
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy S5
  • Sistema operativo:
    Windows 10
Re:callback? ??
« Risposta #6 il: 21 Settembre 2015, 13:54:03 CEST »
0
Ma se avvio un Service per fare una richiesta di tipo http come posso mostrare un ipotetico risultato su un activity /  fragment se esso è  attivo ... ?

Inviato dal mio SM-N9005 utilizzando Tapatalk

Il modo più semplice é inviare un Broadcast, ma esistono sistemi più complessi tipo usare un bound Service cui si aggancia la Activity.

Offline pietroconti89

  • Utente normale
  • ***
  • Post: 164
  • Respect: +19
    • Mostra profilo
  • Dispositivo Android:
    Galaxy Note 3 N9005
  • Sistema operativo:
    Windows / Mac OSX
Re:callback? ??
« Risposta #7 il: 21 Settembre 2015, 13:56:04 CEST »
0
Il modo più semplice é inviare un Broadcast, ma esistono sistemi più complessi tipo usare un bound Service cui si aggancia la Activity.
Capito  , non sapevo di questa possibilità ,  me la studio grazie x la dritta

Inviato dal mio SM-N9005 utilizzando Tapatalk