Autore Topic: Servizio: chiamare metodo da activity  (Letto 606 volte)

Offline crc_error

  • Utente junior
  • **
  • Post: 85
  • Respect: +8
    • Mostra profilo
  • Dispositivo Android:
    LG-P500
  • Sistema operativo:
    Windows 8, Ubuntu 12
Servizio: chiamare metodo da activity
« il: 05 Aprile 2013, 09:52:33 CEST »
0
Ciao a tutti, nell'applicazione di prova che sto realizzando ho un servizio che gira in background e un'activity che prende i dati dal servizio e li "stampa" in delle TextView.

All'interno dell'activity ho un pulsante, che se premuto, chiama un metodo pubblico del servizio il quale azzera i conti e fa ripartire tutto da capo.

in pratica nell'activity:
Codice (Java): [Seleziona]
                btnActAzzera.setOnClickListener(new OnClickListener() {
                        @Override
                        public void onClick(View v) {
                                if(servizio) { // controllo che il servizio sia attivo (servizio è un bool settato all'avvio del servizio)
                                        boolean st = Servizio.azzeraTotali();
                                        if(st)
                                                Log.w("stato", "ACTIVITY: totali azzerati nel servizio");
                                }
                        }
                });

questo è il metodo nel servizio:
Codice (Java): [Seleziona]
        public static boolean azzeraTotali() {
                ....
                return true;
        }

Tutto funziona perfettamente ma non so se è il metodo migliore per farlo...

Voi che ne dite?


Grazie mille in anticipo ;)
« Ultima modifica: 05 Aprile 2013, 09:54:10 CEST da crc_error »

Offline lorux

  • Utente junior
  • **
  • Post: 97
  • Respect: +12
    • Google+
    • lor.catalano
    • Mostra profilo
  • Dispositivo Android:
    Galaxy S2
  • Sistema operativo:
    Windows
Re:Servizio: chiamare metodo da activity
« Risposta #1 il: 05 Aprile 2013, 10:54:58 CEST »
0
perchè è un metodo statico?

Offline crc_error

  • Utente junior
  • **
  • Post: 85
  • Respect: +8
    • Mostra profilo
  • Dispositivo Android:
    LG-P500
  • Sistema operativo:
    Windows 8, Ubuntu 12
Re:Servizio: chiamare metodo da activity
« Risposta #2 il: 05 Aprile 2013, 11:52:08 CEST »
0
Perchè se no non posso chiamarlo dall'activity..

Offline lorux

  • Utente junior
  • **
  • Post: 97
  • Respect: +12
    • Google+
    • lor.catalano
    • Mostra profilo
  • Dispositivo Android:
    Galaxy S2
  • Sistema operativo:
    Windows
Re:Servizio: chiamare metodo da activity
« Risposta #3 il: 05 Aprile 2013, 12:04:21 CEST »
+1

Offline crc_error

  • Utente junior
  • **
  • Post: 85
  • Respect: +8
    • Mostra profilo
  • Dispositivo Android:
    LG-P500
  • Sistema operativo:
    Windows 8, Ubuntu 12
Re:Servizio: chiamare metodo da activity
« Risposta #4 il: 05 Aprile 2013, 15:18:33 CEST »
0
Quindi il metodo che uso io è "sbagliato"? Bisogna per forza usare i messaggi?

Offline lorux

  • Utente junior
  • **
  • Post: 97
  • Respect: +12
    • Google+
    • lor.catalano
    • Mostra profilo
  • Dispositivo Android:
    Galaxy S2
  • Sistema operativo:
    Windows
Re:Servizio: chiamare metodo da activity
« Risposta #5 il: 05 Aprile 2013, 15:32:38 CEST »
0
ammetto che non ho mai usato un service e non me ne intendo,però boh da programmatore java non mi pare l'implementazione migliore..
potresti provare diversi approcci,
tipo bindare il service all'activity oppure se si può,restartare il service

dai un'occhiata anche qua OzDroid - Enterprise Solutions for Android | Laser Barcode
scanners | RFID | Handheld Computers | Rugged PDA's and Mobile Phones
!BLOG/2010/12/19/How_to_make_a_local_Service_and_bind_to_it_in_Android
per vedere il bind