UPDATE #1Ecco il primo aggiornamento:
Il meccanismo primario della app è stato implementato quasi completamente: servizio automatico e notifiche.
Servirà un certo periodo di tempo per testare il tutto in modo da vedere che nei vari casi d'uso non si presentino errori strani o crash.
Tuttavia è emerso un problema relativo all'esecuzione del servizio che si occupa di prendere i dati dal sito Space-Track.
Infatti, quando lo smartphone entra in modalità di riposo per evitare consumi eccessivi della batteria la mggior parte dei servizi in esecuzione vengono sospesi.
Dato che in questo caso è l'applicazione che deve effettuare una richiesta di dati in un istante futuro preciso, non è possibile utilizzare un timer interno al contesto del servizio o della app (un delay ad esempio). Questo perchè non appena il sistema va in riposo anche il conteggio del timer relativo al delay si sospende, per poi riprendere esclusivamente quando il sistema si risveglia.
Effettuare una richiesta continua di dati dal sito non sarebbe efficiente e potrebbe causare uno sforamento dei limiti di richiesta imposti dal sito.
Per aggirare il problema è stato implementato un meccanismo in cui ogni N secondi con N suff. piccolo (60 sec) il servizio controlla se la data attuale è maggiore della data impostata per l'aggiornamento, se tale condizione è vera allora viene effettuata la richiesta di dati.
Tale meccanismo non risolve completamente il problema della sospensione, infatti anche in questo caso l'aggiornamento può subire ritardi più o meno gravi.
Nella documentazione per lo sviluppo Android a quanto pare, l'utilizzo di servizi che bypassano lo stato di sospensione è fortemente sconsigliato, o comunque da evitare il più possibile. Per questo motivo l'implementazione di un tale meccanismo mi è al momento poco chiara.
Al momento la schermata principale della app e quella delle impostazioni si presentano cosi:
Allegato:
red3.png [ 32.49 KiB | Osservato 2943 volte ]
Allegato:
red4.png [ 20.24 KiB | Osservato 2943 volte ]
Il cerchietto rosso evidenzia l'icona del servizio, al momento non ha nessun logo è solo una palletta bianca.
E' stato aggiunto anche uno switch per attivare e disattivare il servizio di agg. automatico.
In contemporanea sto lavorando anche al display di alcuni grafici:
Allegato:
Sat_Bar.png [ 15.14 KiB | Osservato 2943 volte ]
Allegato:
sat_map.png [ 147.13 KiB | Osservato 2943 volte ]
To Do List
Done Implementazione di un servizio android in back ground per l’esecuzione automatica anche ad app spenda
Done Implementazione delle notifiche
- Tabella interattiva
- Abbellimento della GUI
- Aggiornamento automatico anche con device in stnadby
- Rilascio versione 1.0 su playstore o .apk
- Rilascio di documentazione e codici sorgente
LAVORI IN CORSO: Seguiranno aggiornamenti!