2

Dec

Demo 9 – Stato del Dispositivo - SystemState

Uno degli aspetti più interessanti nello sviluppo di applicazioni “consumer” sta nel cogliere e catturare i cambiamenti di stato del proprio dispositivo e farne un programma di culto.

Per esempio supponiamo di voler sviluppare un semplice tool che tiene traccia dei consumi di batteria per inferirne durata media ed altre statistiche interessanti. L’UNICA cosa che il programma dovrebbe sapere puntualmente non è altro che il livello di batteria a determinati intervalli di tempo: il resto è matematica.

Quindi ancora una volta il compact framework ci mette a disposizione un repository di properties, accessibili tramite il single-point SystemState, utile per fare ogni genere di interrogazione al nostro dispositivo. Cominciamo a capire come ottenere una proprietà puntualmente (per puntualmente intendo ottenere il valore di una proprietà nel momento in cui se ne faccia richiesta).

image

 image Per poter chiamare ed usare la classe SystemState bisogna referenziare i namespace a sinistra, ricordandoci che Microsoft.WindowsMobile va sempre referenziato. A questo punto nella MessageBox comparirà la data e l’ora corrente.

Se volessimo, per esempio, monitorare i cambiamenti di un particolare stato di SystemState, in modo da esserne notificati in modo asincrono, come facciamo?

image Brevemente:

  • Dichiaro il SystemState globalmente, in modo che catturi la proprietà passata nel costruttore.
  • Nel form_load dico che all’evento changed di quel SystemState voglio che esegua la funzione st_Changed
  • Nella funzione handler, viene eseguito il codice della logica che voglio implementare, al momento del verificarsi dell’evento.

Yatta!

by Roberto Freato on 12/2/2009
Post archive