venerdì 27 gennaio 2012

Fai socializzare la tua app!

Ho scoperto di recente lavorando su una mia applicazione android un servizio davvero interessante. Il suo nome è socialize e permette di rendere la tua applicazione android o iOS più "sociale". In pratica è resa disponibile un Api gratuita che permette di aggiungere una barra contente diverse opzioni che rendono social l'app. Queste opzioni sono il classico "I like" stile facebook, un contatore delle visualizzazioni, la possibilità di condivisione del contenuto via facebook, email o sms e la possibilità di lasciare un commento anonimamente o loggandosi con il proprio account facebook. Ovviamente è possibile utilizzare anche il proprio account twitter invece dell'account di facebook.


Il servizio è gratuito se il traffico coinvolge meno di 100.000 utenti. Superate tale soglia occore comprare uno dei vari account premium proposti.
Ho inserito tale servizio nella mia applicazioni in quanto mi ha permesso in pochissimi passi di dare un aspetto social, che è tanto in voga oggi e comunque utile, alla mia applicazione.

Get Socialize!

giovedì 26 gennaio 2012

La storia di Android in 2 minuti


Ecco per voi un'immagine (fonte: http://www.xcubelabs.com) che riassume in 2 minuti tutta la cronologia delle varie versioni di Android dalla sua nascita ad oggi:



Perché le interfacce?

Molti si saranno chiesti a cosa servono e se sono realmente utili le interfacce software. Cercheremo di spiegarlo brevemente in questo post.

Un'interfaccia altro non è che una porzione di software che permette di interagire con le risorse hardware (memoria, CPU e cosi via) che si trovano ai livelli sottostanti. L'accesso a queste risorse se lasciato libero e indiscriminato può portare a diversi incovenienti. Per questo si può permettere l'accesso a tali risorse solo attraverso precisi entry point, ad esempio le interfacce.

Ma cosa è un'interfaccia nel campo della programmazione ad oggetti? Altro non è che una classe che non contiene dati, quindi di tipo astratto, e può contenere quindi solo metodi d'istanza astratti ( non può contenere né costruttori, né variabili di istanza, né metodi statici ecc.). Tuttavia una classe può implementare più interfacce. Una volta che una classe implementa un'interfaccia, il compilatore sà che un'istanza della classe conterrà lo specifico insieme di metodi. Per spiegare meglio cosa sia un'interfaccia usiamo un'analogia: un interfaccia seriale su un computer definisce un insieme di pin assegnati e il controlo dei segnali che saranno usati; il dispositivo può essere usato per differenti task: mouse, modem, ecc. e questi saranno tutti controllati attraverso lo stesso meccanismo di istruzioni digitali. Per cosa può essere utile un'interfaccia? Se una classe ha bisogno di due differenti insiemi di metodi cosi che il suo comportamente sia  quello di due cose differenti, può ereditare un insieme dalla classe A e usare un'interfaccia B per specificare l'altro!