Building Blocks

Alcuni objects sono definiti nell'Android SDK ed ogni sviluppatore deve conoscerli.

I più importanti objects sono : Activities, intents, services, e content providers.

  • Activity: un'Activity è un user interface screen, con la quale interagire come telefonare scattare foto ed altro. Un'applicazione può avere una o più activity. Tipicamente ogni App ha un'activity principale, che fa da interfaccia principale con l'utente. Al fine di eseguire diverse azioni, ogni activity può avviare altre activity. Il life cycle dell'activity viene aggiornato ogni volta che un'activity viene avviata o messa in pausa.
  • Intents: l'intent è un messaging object usato per passare dati fra activity oppure fra applicazioni diverse. Possiamo distinguere tre casistiche principali:
    • Avviare un'activity: un'activity può avviare un'altra activity inviando dei dati tramite il metodo startActivity. Nel caso in cui si volessero dei risultati il metodo da utilizzare è startActivityForResult che invocherà onActivityResult nell'activity chiamate e riceverà i risultati. 
    • Avviare un servizio: si può avviare un servizio tramite il metodo StartService
    • Broadcasting: È possibile avviare un broadcast ad altre applicazioni passando un Intent al sendBroadcast, sendOrderedBroadcast, o sendStickyBroadcast.
  • Services: un service è un task che gira in backgroud senza che l'utente possa interagire, come un daemon Unix.  Per esempio un player musicale! Un service può essere essenzialmente di due tipi:
    • Started: un service è "Started" quando un componente di un' applicazione ha chiamato startService 
    • Bound:  un service è "bound" quando un componente di un'applicazione si lega ad esso tramite bindService
  • Content Providers: anche Android ha dei content providers per gestire un insieme di dati fra le applicazioni. Per accedere a questi content providers si usa l'oggetto ContentResolver nel Context dell'applicazione.

Ben tornato