CERCA
PER MODELLO
FullScreen Chatbox! :)

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

Visualizzazione dei risultati da 1 a 4 su 4
Discussione:

gestire dati da un BroadcastReceiver in una 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
    Baby Droid


    Registrato dal
    Oct 2012
    Messaggi
    2

    Ringraziamenti
    0
    Ringraziato 0 volte in 0 Posts
    Post

    gestire dati da un BroadcastReceiver in una activity

    salve a tutti,
    ho una activity principale la quale registra un pendingIntent

    questo nroadcastreceiver praticamente quando ci si avvicina a un punto gps crea un toast sulla activity principale
    fino a qua tutto bene

    adesso mi servirebbe che il broadcast quando fa questo toast settasse una variabile booleana definita nella activity.Ma non so come fare. qua credo che il mio problema sia più sulle conoscenze java che android ma fa niente

    il broadcast è definito in un'altro file chiamato alert,java

    se vi servono altre info chiedete.

    grazie anticipatamente

    allego codice broadcast: scusate ma non me lo fa inserire. credo perchè sono nuovo del forum e ho pochi post(misura protettiva per gli spammoni )

  2.  
  3. #2
    Baby Droid


    Registrato dal
    Aug 2012
    Località
    Ancona
    Messaggi
    17
    Smartphone
    Samsung Galaxy Nexus

    Ringraziamenti
    2
    Ringraziato 2 volte in 2 Posts
    Predefinito

    ciao, si' si puo' fare, devi registrare il broadcast receiver dentro l'activity, senza dichiararlo nel manifest. cosi' avra' accesso ai dati all'interno dell'activity. e' importante che lo de-registri in onDestroy() perche' seno' te lo perdi per strada (memory leak, non so l'espressione italiana!). qui c'e' un esempio splendido:

    stackoverflow . com/a/4805733/503900

    perdona il link smangiucchiato ma sono niubbo quanto te

  4. #3
    Baby Droid


    Registrato dal
    Oct 2012
    Messaggi
    2

    Ringraziamenti
    0
    Ringraziato 0 volte in 0 Posts
    Predefinito

    Quote Originariamente inviato da Diegroid Visualizza il messaggio
    ciao, si' si puo' fare, devi registrare il broadcast receiver dentro l'activity, senza dichiararlo nel manifest. cosi' avra' accesso ai dati all'interno dell'activity. e' importante che lo de-registri in onDestroy() perche' seno' te lo perdi per strada (memory leak, non so l'espressione italiana!). qui c'e' un esempio splendido:

    stackoverflow . com/a/4805733/503900

    perdona il link smangiucchiato ma sono niubbo quanto te
    si quella parte la avevo già fatta ed è funzionante il broadcast in se.
    Quello che non mi piace è avere tutta la classe broadcastreceiver all'interno dell'activity.
    E' più un fatto estetico.
    Voglio mettere il broadcast in un altro file ma da qua voglio poter modificare dati che sono nell'activity che ha registrato il broadcast.

    spero di essermi spiegato

    ciao e grazie della risposta che mi hai dato
    Ultima modifica di branco; 19-10-12 alle 12:39

  5. #4
    Baby Droid


    Registrato dal
    Aug 2012
    Località
    Ancona
    Messaggi
    17
    Smartphone
    Samsung Galaxy Nexus

    Ringraziamenti
    2
    Ringraziato 2 volte in 2 Posts
    Predefinito

    allora devi usare una callback o listener:

    se usi una callback, nel receiver crei un metodo vuoto o abstract, es: "onNewValue()" che viene chiamato quando vuoi eseguire quel certo cambio, passandogli i dovuti parametri. quando crei il receiver nell'activity fai l'override o implementi quel metodo e sei nello scope dell'activity, pronto a usare i valori passati per fare i tuoi aggiornamenti.

    nel caso del listener invece, crei nel receiver un metodo "addOnNewValueListener(NewValueListener listener)" che setta in un campo privato sto listener, che e' una semplice interfaccia con un metodo tipo quello della callback. nel codice del receiver quando e' ora controlli se c'e' un listener settato e se c'e' chiami il suo metodo. nell'activity invece implementi il listener e lo setti.

    il listener permette di crearne piu' d'uno e forse e' piu' carino in oop, ma con la callback fai prima.

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