Android per la domotica
Android rappresenta un elemento da considerare necessariamente quando si parla di domotica.
Nello specifico Android è un sistema operativo sviluppato da Google per dispositivi mobili come tablet, smartphone e PDA. Fu sviluppato inizialmente da Android Incorporated ma successivamente è stato acquisito da Google. Android è una piattaforma di sviluppo aperta, il che significa che i produttori di telefoni cellulari possono utilizzare la piattaforma e personalizzarla in base alle proprie esigenze. Si stima che ci siano diverse centinaia di milioni di dispositivi Android attivati nel mondo e che Android sia installato su oltre la metà dei dispositivi in tutto il mondo. Per quanto riguarda l’architettura, Android comprende cinque livelli: kernel Linux, ambiente di runtime Android, librerie, framework applicativo e layer applicativo. La parte più importante del sistema operativo Android è il kernel Linux. Il kernel Linux viene utilizzato per la gestione della memoria, la pianificazione dei processi, la rete e altri servizi. Ogni produttore può modificare il kernel Linux per soddisfare le esigenze del proprio dispositivo mobile. Il livello Linux è seguito dal livello Android che contiene le librerie native installate per un telefono e un fornitore specifici. Il runtime Android comprende la macchina virtuale Dalvik e le librerie Java principali situate nel kernel. Dalvik VM è l’interpretazione di Google di Java progettata appositamente per i dispositivi mobili. Il livello di Application Framework si trova al di sopra di questi livelli ed è il livello utilizzato dagli sviluppatori per creare applicazioni. Infine, le applicazioni e i widget si basano sui livelli precedenti. Ogni schermata di interfaccia è esposta per classi di attività. Una singola applicazione può consistere in una o più attività e un processo Linux che contiene le attività. Un’applicazione può essere eseguita in background, anche se il suo processo è terminato. Ciò significa che il ciclo di vita dell’attività non è legato al ciclo di vita del processo. In breve, i processi Linux sono solo banali contenitori per attività che possono essere eliminate quando non sono più necessarie.