+ All Categories
Home > Mobile > Conoscere Android per poterlo Programmare

Conoscere Android per poterlo Programmare

Date post: 05-Dec-2014
Category:
Upload: flavius-harabor
View: 1,010 times
Download: 2 times
Share this document with a friend
Description:
Queste slide e questo lavoro, danno un'infarinatura di quello che è Android e il mondo che gira intorno a lui. L'opera comprende i seguenti capitoli: * Quando nasce Android? * Dispositivi e Licenza di Distribuzione * L'architettura del sistema operativo Android * Perché Dalvik non è una vera Java Virtual Machine? * Quante releases di Android sono stare rilasciate? * Cosa ci posso fare con Android? * Che app trovo di default su Android? * Market alternativi per Android? * Android è sicuro come sistema operativo? * Mi conviene sviluppare una mia applicazione per Android? * Posso guadagnare con Android? * Link, Fonti e Note
21
Conoscere Android per poterlo Programmare Autore: Flavius Florin Harabor e-mail: [email protected]
Transcript
Page 1: Conoscere Android per poterlo Programmare

Conoscere Android per poterlo Programmare

Autore: Flavius Florin Harabor e-mail: [email protected]

Page 2: Conoscere Android per poterlo Programmare

Introduzione

Prima di cominciare a sviluppare sopra un qualsiasi sistema operativo, perché alla fin fine anche Android lo è, sarebbe buona regola conoscere un pò la sua storia.

Quindi andiamo a scoprire un pò la storia di Android e poi andremmo a immergerci nei meandri della programmazione.

Mi auguro che quanto segue sia di vostro gradimento e che vi aiuti ad affrontare questo nuovo percorso in modo più leggero e sereno.

Autore: Flavius Florin Harabor e-mail: [email protected]

Page 3: Conoscere Android per poterlo Programmare

Autore: Flavius Florin Harabor e-mail: [email protected]

Page 4: Conoscere Android per poterlo Programmare

Quando nasce Android?

Android nasce nel lontano 2003 dall'idea di Andy Rubin (co-fondatore di Danger), Rich Miner (co-fondatore di Danger e di Wildfire Communications), Nick Sears (vicepresidente di T-Mobile) e Chris White (principale autore dell'interfaccia grafica di Web TV), che insieme fondarono la società Android Inc.

Nei primi anni la società Android Inc o meglio il team stesso, ha lavorato molto in segreto e non hanno mai svelato grosse idee, se non quello di voler progettare software per i sistemi operativo mobile.

Android Inc

Autore: Flavius Florin Harabor e-mail: [email protected]

Page 5: Conoscere Android per poterlo Programmare

Quando nasce Android?

Google Entra in Scena

Nel 2005 la Google fiuto' l'affare e quelle che potessero essere le capacità di crescita del progetto Android, ed ecco che acquisto la società Android Inc. Tra il 2005 e il 2007, il team ha continuato lo sviluppo del sistema operativo.

La prima release del robottino verde, che oggi ha conquistato il mondo, venne presentata il 5 Ottobre del 2007. Mentre per quello che riguarda la sua prima comparsa, come sistema operativo preinstallato, si deve aspettare il 22 Ottobre 2008 (release 1.0).

Dal 2008 ad oggi, Android si è evoluto molto e ha portato con se' moltissime novità e anche qualche delusione.

Autore: Flavius Florin Harabor e-mail: [email protected]

Page 6: Conoscere Android per poterlo Programmare

Conoscere Android per poterlo Programmare

Autore: Flavius Florin Harabor e-mail: [email protected]

Page 7: Conoscere Android per poterlo Programmare

Dispositivi e Licenza di Distribuzione

Autore: Flavius Florin Harabor e-mail: [email protected]

Oggi Android è un sistema operativo per dispositivi mobili, sviluppato da Google Inc ed organizzato in un'architettura software che include un sistema operativo di base, i middleware per le comunicazioni e le applicazioni di base. Il suo cuore pulsante, è il Kernel Linux monolitico e supporta le piattaforme 32 bit ARM, MIPS, x86.

Android è un sistema operativo open source, escluse alcune versioni intermedie su cui la Google si tiene i diritti, ed è distribuito sotto la Licenza Apache 2.0. Questo significa che si ha la possibilità di accedere, modificare e distribuire liberamente il codice sorgete. Alcune particolarità o specifiche, ove segnalato, sono di proprietà della Google Inc.

Page 8: Conoscere Android per poterlo Programmare

L'architettura del sistema operativo Android

Come dicevo prima, Android è un sistema operativo mobile basato su un Kernel Linux, personalizzato per i dispositivi su cui il sistema operativo deve essere installato e lavorare. Fino alla versione 4.0 di Android, il Kernel Linux era il 2.6, da Android 4.0 in poi viene utilizzato il Kernel Linux 3.x.

A tutto questo vengono aggiunte diverse Librerie specifiche, come ad esempio le OpenGL ES 2.0 per la grafica 3D e SQLite per il database e anche una macchina virtuale (Dalvik) sulla quale gira tutto il codice delle applicazioni. Infatti, è grazie a questa macchina virtuale, le applicazioni che andrai a sviluppare potranno girare e lavorare su Android.

In più troviamo le API scritte in C o C++ e un framewark che mette a disposizione delle applicazioni i servizi principali del sistema, come ad esempio la gestione delle finestre, delle notifiche o della parte della telefonia.

La virtual machine, come accennato prima si chiama Dalvik, essa pur consentendo agli sviluppatori di far girare codice di tipo Java su dispositivi Android, non è da considerarsi una vera Java Virtual Machine.

Autore: Flavius Florin Harabor e-mail: [email protected]

Page 9: Conoscere Android per poterlo Programmare

Perché Dalvik non è una vera Java Virtual Machine?

Il bytecode della JVM è incompatibile con Dalvik e, per poter sviluppare su Android, è necessario usare tool o meglio IDE specifici come Android Studio oppure Eclipse, con un particolare plugin (Android SDK) fornito e sviluppato dalla Google Inc. Il motivo di tutto cio è che la virtual machine Dalvik è ottimizzata appositamente per i sistemi mobile, che hanno a disposizione poca memoria RAM e CPU. Va anche detto che nei ultimi due anni, sono aumentate le caratteristiche hardware dei device Android, però per il momento Dalvik si occupa di fare il lavoro sporco.

Autore: Flavius Florin Harabor e-mail: [email protected]

Conversione da Java Byte-code a Dalvik Byte-code

Clicca Qui

Page 10: Conoscere Android per poterlo Programmare

Quante releases di Android sono stare rilasciate?

Fino ad oggi sono state rilasciate le seguenti release di Android:

● release 1.5 nome in codice Cupcake

● release 1.6 nome in codice Donut,

● release 2.1 nome in codice Eclair,

● release 2.2 nome in codice Froyo,

● release 2.3 nome in codice Gingerbread,

● release 3.0 nome in codice Honeycomb,

● release 4.0 nome in codice Ice Cream Sandwich,

● release 4.1 nome in codice Jelly Bean,

● release 4.4 che prende la denominazione KitKat in seguito ad un accordo con la Nestlé.

Autore: Flavius Florin Harabor e-mail: [email protected]

Page 11: Conoscere Android per poterlo Programmare

Cosa ci posso fare con Android?

Mille cose, è la risposta più facile e immediata.

Penso che stare qui ad elencare tutto quello che si può fare con Android e con i devices che lo ospitano, sia un discorso dispersivo oltre al fatto che non ci basterebbe un anno intero.

Comunque le cose che si possono fare con Android e i devices che lo ospitano variano da persona a persona e da device a device: quindi uno può leggere i libri scaricati attraverso Google Play, un'altra persona può scegliere di giocare, altri come me lo usano per scrivere sul proprio blog.

Autore: Flavius Florin Harabor e-mail: [email protected]

Page 12: Conoscere Android per poterlo Programmare

Che app trovo di default su Android?

A tutto questo poi vanno aggiunte app come: un browser (ormai Google Chrome), un lettore multimediale, la galleria immagini.

Poi in base alla marca del tuo device Android, puoi trovare anche altre applicazioni implementate e create appositamente da quella società.

Android o Android Stock (la versione rilasciata ufficialmente da Google Inc) ha di default le applicazioni dei suoi servizi principali, come:

➔ YouTube,

➔ Gmail,

➔ Google Drive,

➔ Google Maps,

➔ Hangout,

➔ Google Plus,

➔ Google Musica,

➔ Google Edicola,

➔ Play Books,

➔ Ricerca Vocale,

➔ Comandi Vocali,

➔ Altre app Autore: Flavius Florin Harabor e-mail: [email protected]

Page 13: Conoscere Android per poterlo Programmare

Market alternativi per Android?

Principalmente le applicazioni di Android le puoi scaricare dal Market Google Play, però ci sono anche mercati alternativi come:

● SlideMe =>> http://slideme.org/

● App-Shop Amazon per Android =>> http://www.amazon.it/mobile-apps/b/ref=sa_menu_adr_app?ie=UTF8&node=1661660031

● attraverso il client F-Droid =>> https://f-droid.org

Autore: Flavius Florin Harabor e-mail: [email protected]

Page 14: Conoscere Android per poterlo Programmare

Android è sicuro come sistema operativo?

Sicurezza OS Androidhttp://goo.gl/cGywMqhttp://goo.gl/VYd7bbhttp://goo.gl/pq0Z1u

Sicurezza Apphttp://goo.gl/39hPHPhttp://goo.gl/bVJ9M4http://goo.gl/Z6zBMk

Android è sicuro fino a un certo punto, come tutti i software a questo mondo nasce con dei bug oppure problemi, che un malintenzionato può sfruttare.

Però ci sono anche alcuni casi in cui Android non è sicuro per colpa dell'utente finale. Questo perché utilizza applicazioni scaricate da mercati poco affidabili, utilizza applicazioni a pagamento crakate etc.

La sicurezza di un sistema operativo non è data solo da chi lo sviluppo, ma soprattutto da chi lo utilizza.

Autore: Flavius Florin Harabor e-mail: [email protected]

Page 15: Conoscere Android per poterlo Programmare

Conoscere Android per poterlo Programmare

Autore: Flavius Florin Harabor e-mail: [email protected]

Page 16: Conoscere Android per poterlo Programmare

Mi conviene sviluppare una mia applicazione per Android?

Certamente che si ed è quello che ti consiglio di fare.

Cerca di dare sfogo alla tua fantasia e sicuramente le tue idee, ma anche il tempo che ci dedicherai allo sviluppo ti ripagheranno con il passare del tempo.

USA LA FANTASIA

Autore: Flavius Florin Harabor e-mail: [email protected]

Page 17: Conoscere Android per poterlo Programmare

Posso guadagnare con Android?

Certamente che puoi guadagnare, però l'idea di base, è quella di imparare a programmare bene e conquistare i tuoi clienti. Solo così puoi guadagnare.

Va detto sin da subito, che se pensi di scrivere una semplice applicazione, che fa accendere il led flash del device, per usarlo come torcia e inserirci pubblicità dentro per guadagnare, è già una strategia pessima e sicuramente non proficua

Insomma devi pensare a qualcosa di "rivoluzionario" per far si che l'utenza scarichi e utilizzi la tua applicazione.

USA LA FANTASIA

Autore: Flavius Florin Harabor e-mail: [email protected]

Page 18: Conoscere Android per poterlo Programmare

Conoscere Android per poterlo Programmare

Autore: Flavius Florin Harabor e-mail: [email protected]

Page 19: Conoscere Android per poterlo Programmare

Conclusioni

Dire tutto su quella che è la storia di Android e la sua evoluzione, la sua sicurezza, ma anche su come sviluppare e guadagnare attraverso le applicazioni (argomento che tratterò nel futuro prossimo e vedremo assieme in altri appuntamenti), non è per niente semplice.

Questo è solo l'inizio di una lunga serie di articoli e slide dedicati all'argomento, quindi, voi seguitemi da vicino e soprattutto cominciate a visitare tutti i link che vi segnalo nell'ultima slide.

Autore: Flavius Florin Harabor e-mail: [email protected]

Page 20: Conoscere Android per poterlo Programmare

Link, Fonti e Note

● http://www.android.com/

● http://it.wikipedia.org/wiki/Middleware

● http://it.wikipedia.org/wiki/Linux_(kernel)http://it.wikipedia.org/wiki/Licenza_Apache

● http://it.wikipedia.org/wiki/Open_source

● http://it.wikipedia.org/wiki/Codice_sorgente

● http://it.wikipedia.org/wiki/Bytecode

● http://it.wikipedia.org/wiki/Dalvik_virtual_machine

● http://it.wikipedia.org/wiki/Macchina_virtuale

● http://it.wikipedia.org/wiki/Framework

● http://it.wikipedia.org/wiki/Application_programming_interface

● http://it.wikipedia.org/wiki/Libreria_(software)

● http://en.wikipedia.org/wiki/Java_virtual_machine

● http://it.wikipedia.org/wiki/OpenGL

● http://it.wikipedia.org/wiki/SQLite

● http://it.wikipedia.org/wiki/Java_(linguaggio_di_programmazione)

● http://androidos-lab.it/2014/02/19/android-studio-basta-eclipse-e-suoi-errori/

● http://eclipse.org/

● http://developer.android.com/sdk/index.html?hl=sk

● http://slideme.org/

● http://www.amazon.it/

● https://f-droid.orgAutore: Flavius Florin Harabor e-mail: [email protected]

Note:➔ Questo è solo una parte riassuntiva di quello che è il mondo

Android e il suo cuore pulsante, non è una vera guida per iniziare a sviluppare le tue applicazioni.

➔ Tutte le foto/immagini, presenti all'interno di queste slide sono reperibili in rete e appartengono ai legittimi proprietari.

➔ Ricordo inoltre, che queste slide e questo lavoro sono coperte dalla CC v.4.

➔ Grazie a Benedetto Nespoli per le correzioni e le mie piccole sviste

Page 21: Conoscere Android per poterlo Programmare

FINE

Autore: Flavius Florin Harabor e-mail: [email protected]


Recommended