09.02.2013 Views

Sviluppo di una piattaforma per lo streaming multimediale - MobiLab ...

Sviluppo di una piattaforma per lo streaming multimediale - MobiLab ...

Sviluppo di una piattaforma per lo streaming multimediale - MobiLab ...

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

<strong>Sviluppo</strong> <strong>di</strong> <strong>una</strong> <strong>piattaforma</strong> <strong>per</strong> <strong>lo</strong> <strong>streaming</strong> multime<strong>di</strong>ale in ambiente Android<br />

Performance - L'applicazione deve essere efficiente, in accordo con le<br />

restrizioni hardware proprie <strong>di</strong> un <strong>di</strong>spositivo mobile: la potenza <strong>di</strong> calco<strong>lo</strong><br />

limitata, la poca memoria <strong>di</strong>sponibile, la batteria limitata.<br />

Responsiveness - L'applicazione deve essere ve<strong>lo</strong>ce e il suo utilizzo imme<strong>di</strong>ato<br />

<strong>per</strong> l'utente me<strong>di</strong>o. Per facilitare ciò ogni Activity gestisce un Trigger (l'ANR)<br />

il cui compito è notificare al<strong>lo</strong> sviluppatore un tempo <strong>di</strong> latenza troppo ampio,<br />

che si attiva se non c'è risposta ad un evento <strong>di</strong> input entro 5 secon<strong>di</strong>, oppure<br />

se un BroadcastReceiver non completa l'esecuzione entro 10 secon<strong>di</strong>.<br />

Seamlessness – L'applicazione deve interagire “senza saldature” con il<br />

contesto in cui è lanciata e con le altre applicazioni, <strong>per</strong> evitare errori e <strong>di</strong>sagi<br />

all'utente, le cui cause possono riscontrarsi nelle interazioni improvvise con<br />

altre applicazioni oppure nella rimozione <strong>di</strong> dati ancora utili.<br />

Naturalmente queste sono so<strong>lo</strong> “linee <strong>di</strong> condotta” <strong>per</strong> uno sviluppo coerente con<br />

l'obiettivo finale <strong>di</strong> Android. Anche i pattern tipici e gli strumenti messi a<br />

<strong>di</strong>sposizione del<strong>lo</strong> sviluppatore sono so<strong>lo</strong> tools e in essi non risiede alc<strong>una</strong> reale<br />

innovazione.<br />

Per incontrare le reali innovazioni dobbiamo tagliare in maniera verticale<br />

un’applicazione tipica e scoprire che essa è composta da almeno uno <strong>di</strong> questi<br />

quattro elementi:<br />

– Activity<br />

– Service<br />

– BroadcastReceiver<br />

– ContentProvider<br />

43

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!