Autore Topic: logica background  (Letto 339 volte)

Offline giuseppesorce

  • Utente junior
  • **
  • Post: 90
  • Respect: +6
    • Google+
    • warpmobile_it
    • Mostra profilo
  • Dispositivo Android:
    Nexus 6,Nexus 5,Nexus 4, Galaxy Nexus, Nexus s, Nexus One,Htc Wildfire S, Nexus 7... etc
  • Sistema operativo:
    Ubuntu 14.04
logica background
« il: 06 Maggio 2015, 10:40:35 CEST »
0
Premetto che ho già sviluppato l' app. Avevo poco tempo anzi.. nullo.
Funziona abbastanza bene. Volevo sapere la vostra opinione in merito.

App solo in background. Tabler sempre collegato alla presa quindi non c'è il problema della batteria.

1) recupero online un json di numeri di cell e testo

2) invio enne sms, 0, 1,10 o 100 sms.

3) dopo 20 secondi recupero di nuovo il json

e cosi via.

App in background e sempre presente.

Io l' ho pensata cosi.

Un normale Service con

Codice (Java): [Seleziona]
 @Override
    public int onStartCommand(Intent intent, int flags, int startId) {
     
        getJson();
  return START_STICKY;
     
    }

il Serice implementa un' interface cosi..


Codice (Java): [Seleziona]
public class MyService extends Service implements ResponseServer {


    @Override
    public void onServerResponse(ResponseServer response) {
      invioSMS();

}
}


Tutto si svolge nel Service, naturalmente il getJson è il sendSms sono dei Thread diversi.



The code is joy and passion but it has a high degree of suffering

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:logica background
« Risposta #1 il: 06 Maggio 2015, 11:21:15 CEST »
0
Io sono curioso di sapere il livello di "error handling" che hai implementato (se ne hai avuto il tempo, ovviamente).

Se la risposta di rete tarda, fai abort e rischeduli?
Se il JSON è incompleto o malformattato, fai abort totale e provi a scaricarlo di nuovo o spedisci quello che è corretto?
Se il servizio di invio SMS non va (temporaneamente), tieni memoria della coda messaggi da inviare?
NON rispondo a domande nei messaggi privati
Bradipao @ Play Store

Offline giuseppesorce

  • Utente junior
  • **
  • Post: 90
  • Respect: +6
    • Google+
    • warpmobile_it
    • Mostra profilo
  • Dispositivo Android:
    Nexus 6,Nexus 5,Nexus 4, Galaxy Nexus, Nexus s, Nexus One,Htc Wildfire S, Nexus 7... etc
  • Sistema operativo:
    Ubuntu 14.04
Re:logica background
« Risposta #2 il: 06 Maggio 2015, 11:50:18 CEST »
0
E' proprio quello che sto implementando adesso.
Ho fatto la logica nel senso che ho deciso di utilizzare un Service che si riavvia.


>Se il JSON è incompleto o malformattato, fai abort totale e provi a scaricarlo di nuovo o spedisci quello che è corretto?

Ritento di nuovo dopo 30 secondi. E' un tablet usato solo per questa cosa... non devo tener conto della batteria, della connessione dati etc.

>Se il servizio di invio SMS non va (temporaneamente), tieni memoria della coda messaggi da inviare?

Ne invio uno... se non va... vado al successivo.. appena finisco la cosa ne chiedo altri.

>Se la risposta di rete tarda, fai abort e rischeduli?

Se tarda o abort rischedulo ovviamente. Lo so che può entrare in loop ma come ho detto è un' app per un solo tablet in wifi e collegato alla presa

The code is joy and passion but it has a high degree of suffering