SlideShare uma empresa Scribd logo
1 de 21
Baixar para ler offline
Conoscere Android per poterlo Programmare
Autore: Flavius Florin Harabor
e-mail: ffinformaticus@gmail.com
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: ffinformaticus@gmail.com
Autore: Flavius Florin Harabor
e-mail: ffinformaticus@gmail.com
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: ffinformaticus@gmail.com
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: ffinformaticus@gmail.com
Conoscere Android per poterlo Programmare
Autore: Flavius Florin Harabor
e-mail: ffinformaticus@gmail.com
Dispositivi e Licenza di Distribuzione
Autore: Flavius Florin Harabor
e-mail: ffinformaticus@gmail.com
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.
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: ffinformaticus@gmail.com
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: ffinformaticus@gmail.com
Conversione da Java Byte-code
a Dalvik Byte-code
Clicca Qui
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: ffinformaticus@gmail.com
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: ffinformaticus@gmail.com
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: ffinformaticus@gmail.com
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_m
enu_adr_app?ie=UTF8&node=1661660031
● attraverso il client F-Droid =>> https://f-droid.org
Autore: Flavius Florin Harabor
e-mail: ffinformaticus@gmail.com
Android è sicuro come sistema operativo?
Sicurezza OS Android
http://goo.gl/cGywMq
http://goo.gl/VYd7bb
http://goo.gl/pq0Z1u
Sicurezza App
http://goo.gl/39hPHP
http://goo.gl/bVJ9M4
http://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: ffinformaticus@gmail.com
Conoscere Android per poterlo Programmare
Autore: Flavius Florin Harabor
e-mail: ffinformaticus@gmail.com
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: ffinformaticus@gmail.com
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: ffinformaticus@gmail.com
Conoscere Android per poterlo Programmare
Autore: Flavius Florin Harabor
e-mail: ffinformaticus@gmail.com
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: ffinformaticus@gmail.com
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-su
oi-errori/
●
http://eclipse.org/
●
http://developer.android.com/sdk/index.html?hl=sk
●
http://slideme.org/
●
http://www.amazon.it/
●
https://f-droid.org
Autore: Flavius Florin Harabor
e-mail: ffinformaticus@gmail.com
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
FINE
Autore: Flavius Florin Harabor
e-mail: ffinformaticus@gmail.com

Mais conteúdo relacionado

Mais procurados

WordPress Facilissimo: guida alla sicurezza
WordPress Facilissimo: guida alla sicurezzaWordPress Facilissimo: guida alla sicurezza
WordPress Facilissimo: guida alla sicurezzaFlavius-Florin Harabor
 
Introduzione alla programmazione Android - Android@tulug
Introduzione alla programmazione Android - Android@tulugIntroduzione alla programmazione Android - Android@tulug
Introduzione alla programmazione Android - Android@tulugIvan Gualandri
 
Android, panoramica e sviluppo
Android, panoramica e sviluppoAndroid, panoramica e sviluppo
Android, panoramica e sviluppoLorenzo Braghetto
 
Italian C++ MeetUp - 24/10/2015
Italian C++ MeetUp - 24/10/2015Italian C++ MeetUp - 24/10/2015
Italian C++ MeetUp - 24/10/2015Gaetano Paternò
 
Iniziare a sviluppare su mobile con Android
Iniziare a sviluppare su mobile con AndroidIniziare a sviluppare su mobile con Android
Iniziare a sviluppare su mobile con AndroidFrancesco Florio
 
EtnaDev 2015 - Windows Bridge
EtnaDev 2015 - Windows BridgeEtnaDev 2015 - Windows Bridge
EtnaDev 2015 - Windows BridgeGaetano Paternò
 
MOBILE APPS con ANDROID - Lo Stretto Digitale
MOBILE APPS con ANDROID  - Lo Stretto DigitaleMOBILE APPS con ANDROID  - Lo Stretto Digitale
MOBILE APPS con ANDROID - Lo Stretto Digitalelostrettodigitale
 
01 Android - Introduction
01   Android - Introduction01   Android - Introduction
01 Android - Introductionspawn150
 
Servizi online della Microsoft per gli studenti
Servizi online della Microsoft per gli studentiServizi online della Microsoft per gli studenti
Servizi online della Microsoft per gli studentiWilfried Mbouenda Mbogne
 
Deno - L'anagramma di node
Deno - L'anagramma di nodeDeno - L'anagramma di node
Deno - L'anagramma di nodeFrancesco Sciuti
 
Crossdev sdk/tools: devil's deception
Crossdev sdk/tools: devil's deceptionCrossdev sdk/tools: devil's deception
Crossdev sdk/tools: devil's deceptionLuciano Colosio
 

Mais procurados (17)

WordPress Facilissimo: guida alla sicurezza
WordPress Facilissimo: guida alla sicurezzaWordPress Facilissimo: guida alla sicurezza
WordPress Facilissimo: guida alla sicurezza
 
Introduzione alla programmazione Android - Android@tulug
Introduzione alla programmazione Android - Android@tulugIntroduzione alla programmazione Android - Android@tulug
Introduzione alla programmazione Android - Android@tulug
 
Android, panoramica e sviluppo
Android, panoramica e sviluppoAndroid, panoramica e sviluppo
Android, panoramica e sviluppo
 
Italian C++ MeetUp - 24/10/2015
Italian C++ MeetUp - 24/10/2015Italian C++ MeetUp - 24/10/2015
Italian C++ MeetUp - 24/10/2015
 
Iniziare a sviluppare su mobile con Android
Iniziare a sviluppare su mobile con AndroidIniziare a sviluppare su mobile con Android
Iniziare a sviluppare su mobile con Android
 
EtnaDev 2015 - Windows Bridge
EtnaDev 2015 - Windows BridgeEtnaDev 2015 - Windows Bridge
EtnaDev 2015 - Windows Bridge
 
Flutter
FlutterFlutter
Flutter
 
MOBILE APPS con ANDROID - Lo Stretto Digitale
MOBILE APPS con ANDROID  - Lo Stretto DigitaleMOBILE APPS con ANDROID  - Lo Stretto Digitale
MOBILE APPS con ANDROID - Lo Stretto Digitale
 
Visual studio code
Visual studio codeVisual studio code
Visual studio code
 
Android vs iOS
Android vs iOSAndroid vs iOS
Android vs iOS
 
Google chrome
Google chromeGoogle chrome
Google chrome
 
Introduzione ad Android
Introduzione ad AndroidIntroduzione ad Android
Introduzione ad Android
 
01 Android - Introduction
01   Android - Introduction01   Android - Introduction
01 Android - Introduction
 
Servizi online della Microsoft per gli studenti
Servizi online della Microsoft per gli studentiServizi online della Microsoft per gli studenti
Servizi online della Microsoft per gli studenti
 
Reportage Delphi Day 2012
Reportage Delphi Day 2012Reportage Delphi Day 2012
Reportage Delphi Day 2012
 
Deno - L'anagramma di node
Deno - L'anagramma di nodeDeno - L'anagramma di node
Deno - L'anagramma di node
 
Crossdev sdk/tools: devil's deception
Crossdev sdk/tools: devil's deceptionCrossdev sdk/tools: devil's deception
Crossdev sdk/tools: devil's deception
 

Semelhante a Conoscere Android per poterlo Programmare

Android programming
Android programmingAndroid programming
Android programmingPi Libri
 
Android App Development - Unimore
Android App Development - UnimoreAndroid App Development - Unimore
Android App Development - UnimoreNicola Corti
 
Sviluppo di App cross-platform con Cordova e HTML5
Sviluppo di App cross-platform con Cordova e HTML5Sviluppo di App cross-platform con Cordova e HTML5
Sviluppo di App cross-platform con Cordova e HTML5Gabriele Gaggi
 
Android Mobile Apps , visione d'insieme
Android Mobile Apps , visione d'insiemeAndroid Mobile Apps , visione d'insieme
Android Mobile Apps , visione d'insiemeFrancesco De Simone
 
Html5 apps - GWT oriented
Html5 apps - GWT orientedHtml5 apps - GWT oriented
Html5 apps - GWT orientedfirenze-gtug
 
MobileDevCamp2012 - Android
MobileDevCamp2012 - AndroidMobileDevCamp2012 - Android
MobileDevCamp2012 - Androidmobiledevcamp
 
Programmazione mobile: ANDROID
Programmazione mobile: ANDROIDProgrammazione mobile: ANDROID
Programmazione mobile: ANDROIDPaolo Tosato
 
Google Android: una nuova piattaforma Open Source per dispositivi mobili
Google Android: una nuova piattaforma Open Source per dispositivi mobiliGoogle Android: una nuova piattaforma Open Source per dispositivi mobili
Google Android: una nuova piattaforma Open Source per dispositivi mobiliGoWireless
 
Open source un'opportunità di business
Open source un'opportunità di businessOpen source un'opportunità di business
Open source un'opportunità di businessRoberto Falla
 
Open vs Proprietary software
Open vs Proprietary softwareOpen vs Proprietary software
Open vs Proprietary softwareMarcoMarinello2
 
Flutter: Google alla conquista del mobile multi piattaforma
Flutter: Google alla conquista del mobile multi piattaformaFlutter: Google alla conquista del mobile multi piattaforma
Flutter: Google alla conquista del mobile multi piattaformaCommit University
 
Android App Development, Creare la nostra prima app
Android App Development, Creare la nostra prima appAndroid App Development, Creare la nostra prima app
Android App Development, Creare la nostra prima appNicola Corti
 
Meet no Neet: presentazione del progetto App per organizzare eventi
Meet no Neet: presentazione del progetto App per organizzare eventiMeet no Neet: presentazione del progetto App per organizzare eventi
Meet no Neet: presentazione del progetto App per organizzare eventiFondazione Mondo Digitale
 
Introduzione ad Android jug marche meeting 2011_04_30
Introduzione ad Android jug marche meeting 2011_04_30Introduzione ad Android jug marche meeting 2011_04_30
Introduzione ad Android jug marche meeting 2011_04_30Riccardo Mancinelli
 

Semelhante a Conoscere Android per poterlo Programmare (20)

platforms
platformsplatforms
platforms
 
Android programming
Android programmingAndroid programming
Android programming
 
Android App Development - Unimore
Android App Development - UnimoreAndroid App Development - Unimore
Android App Development - Unimore
 
Sviluppo di App cross-platform con Cordova e HTML5
Sviluppo di App cross-platform con Cordova e HTML5Sviluppo di App cross-platform con Cordova e HTML5
Sviluppo di App cross-platform con Cordova e HTML5
 
Android Mobile Apps , visione d'insieme
Android Mobile Apps , visione d'insiemeAndroid Mobile Apps , visione d'insieme
Android Mobile Apps , visione d'insieme
 
Html5 apps - GWT oriented
Html5 apps - GWT orientedHtml5 apps - GWT oriented
Html5 apps - GWT oriented
 
MobileDevCamp2012 - Android
MobileDevCamp2012 - AndroidMobileDevCamp2012 - Android
MobileDevCamp2012 - Android
 
Programmazione mobile: ANDROID
Programmazione mobile: ANDROIDProgrammazione mobile: ANDROID
Programmazione mobile: ANDROID
 
Io, Android
Io, AndroidIo, Android
Io, Android
 
Google Android: una nuova piattaforma Open Source per dispositivi mobili
Google Android: una nuova piattaforma Open Source per dispositivi mobiliGoogle Android: una nuova piattaforma Open Source per dispositivi mobili
Google Android: una nuova piattaforma Open Source per dispositivi mobili
 
Responsive web-design
Responsive web-designResponsive web-design
Responsive web-design
 
Open source un'opportunità di business
Open source un'opportunità di businessOpen source un'opportunità di business
Open source un'opportunità di business
 
Open vs Proprietary software
Open vs Proprietary softwareOpen vs Proprietary software
Open vs Proprietary software
 
Google Chrome OS
Google Chrome OSGoogle Chrome OS
Google Chrome OS
 
Flutter: Google alla conquista del mobile multi piattaforma
Flutter: Google alla conquista del mobile multi piattaformaFlutter: Google alla conquista del mobile multi piattaforma
Flutter: Google alla conquista del mobile multi piattaforma
 
Il Web su Mobile
Il Web su MobileIl Web su Mobile
Il Web su Mobile
 
Android
AndroidAndroid
Android
 
Android App Development, Creare la nostra prima app
Android App Development, Creare la nostra prima appAndroid App Development, Creare la nostra prima app
Android App Development, Creare la nostra prima app
 
Meet no Neet: presentazione del progetto App per organizzare eventi
Meet no Neet: presentazione del progetto App per organizzare eventiMeet no Neet: presentazione del progetto App per organizzare eventi
Meet no Neet: presentazione del progetto App per organizzare eventi
 
Introduzione ad Android jug marche meeting 2011_04_30
Introduzione ad Android jug marche meeting 2011_04_30Introduzione ad Android jug marche meeting 2011_04_30
Introduzione ad Android jug marche meeting 2011_04_30
 

Mais de Flavius-Florin Harabor

Telegram is the Future 2020: alla scoperta di Telegram
Telegram is the Future 2020: alla scoperta di TelegramTelegram is the Future 2020: alla scoperta di Telegram
Telegram is the Future 2020: alla scoperta di TelegramFlavius-Florin Harabor
 
Apericorso DigiWeb: Telegram for business
Apericorso DigiWeb: Telegram for businessApericorso DigiWeb: Telegram for business
Apericorso DigiWeb: Telegram for businessFlavius-Florin Harabor
 
WMF 2020 - Telegram un modo di comunicare diverso dal solito
WMF 2020 - Telegram un modo di comunicare diverso dal solitoWMF 2020 - Telegram un modo di comunicare diverso dal solito
WMF 2020 - Telegram un modo di comunicare diverso dal solitoFlavius-Florin Harabor
 
Telegram e WhatsApp Business: metodi alternativi per fare Mobile Marketing
Telegram e WhatsApp Business: metodi alternativi per fare Mobile MarketingTelegram e WhatsApp Business: metodi alternativi per fare Mobile Marketing
Telegram e WhatsApp Business: metodi alternativi per fare Mobile MarketingFlavius-Florin Harabor
 
Telegram vs WhatsApp for Business, quale scegliere?
Telegram vs WhatsApp for Business, quale scegliere?Telegram vs WhatsApp for Business, quale scegliere?
Telegram vs WhatsApp for Business, quale scegliere?Flavius-Florin Harabor
 
Telegram vs WhatsApp for Business, quale scegliere?
Telegram vs WhatsApp for Business, quale scegliere?Telegram vs WhatsApp for Business, quale scegliere?
Telegram vs WhatsApp for Business, quale scegliere?Flavius-Florin Harabor
 
Usare i bot e le chatbot di Telegram, per una miglior integrazione con i tuoi...
Usare i bot e le chatbot di Telegram, per una miglior integrazione con i tuoi...Usare i bot e le chatbot di Telegram, per una miglior integrazione con i tuoi...
Usare i bot e le chatbot di Telegram, per una miglior integrazione con i tuoi...Flavius-Florin Harabor
 
InsideTelegram & #Digitaltoolitalia a Huckletree Londra
InsideTelegram & #Digitaltoolitalia a Huckletree LondraInsideTelegram & #Digitaltoolitalia a Huckletree Londra
InsideTelegram & #Digitaltoolitalia a Huckletree LondraFlavius-Florin Harabor
 
Seo zoo: webinar telegram for business
Seo zoo: webinar telegram for businessSeo zoo: webinar telegram for business
Seo zoo: webinar telegram for businessFlavius-Florin Harabor
 
[SMAU 2017] Telegram for business: Il futuro della comunicazione?
[SMAU 2017] Telegram for business: Il futuro della comunicazione?[SMAU 2017] Telegram for business: Il futuro della comunicazione?
[SMAU 2017] Telegram for business: Il futuro della comunicazione?Flavius-Florin Harabor
 
Telegram for Business: ChatBot, Canali ed altro per le nuove strategie di com...
Telegram for Business: ChatBot, Canali ed altro per le nuove strategie di com...Telegram for Business: ChatBot, Canali ed altro per le nuove strategie di com...
Telegram for Business: ChatBot, Canali ed altro per le nuove strategie di com...Flavius-Florin Harabor
 
Telegram for Business Smau Milano 2016
Telegram for Business Smau Milano 2016Telegram for Business Smau Milano 2016
Telegram for Business Smau Milano 2016Flavius-Florin Harabor
 
Telegram for business: scopri come usarlo
Telegram for business: scopri come usarloTelegram for business: scopri come usarlo
Telegram for business: scopri come usarloFlavius-Florin Harabor
 
Node js: che cos'è e a che cosa serve?
Node js: che cos'è e a che cosa serve?Node js: che cos'è e a che cosa serve?
Node js: che cos'è e a che cosa serve?Flavius-Florin Harabor
 

Mais de Flavius-Florin Harabor (18)

Telegram is the Future 2020: alla scoperta di Telegram
Telegram is the Future 2020: alla scoperta di TelegramTelegram is the Future 2020: alla scoperta di Telegram
Telegram is the Future 2020: alla scoperta di Telegram
 
Apericorso DigiWeb: Telegram for business
Apericorso DigiWeb: Telegram for businessApericorso DigiWeb: Telegram for business
Apericorso DigiWeb: Telegram for business
 
WMF 2020 - Telegram un modo di comunicare diverso dal solito
WMF 2020 - Telegram un modo di comunicare diverso dal solitoWMF 2020 - Telegram un modo di comunicare diverso dal solito
WMF 2020 - Telegram un modo di comunicare diverso dal solito
 
Telegram e WhatsApp Business: metodi alternativi per fare Mobile Marketing
Telegram e WhatsApp Business: metodi alternativi per fare Mobile MarketingTelegram e WhatsApp Business: metodi alternativi per fare Mobile Marketing
Telegram e WhatsApp Business: metodi alternativi per fare Mobile Marketing
 
Telegram vs WhatsApp for Business, quale scegliere?
Telegram vs WhatsApp for Business, quale scegliere?Telegram vs WhatsApp for Business, quale scegliere?
Telegram vs WhatsApp for Business, quale scegliere?
 
Telegram vs WhatsApp for Business, quale scegliere?
Telegram vs WhatsApp for Business, quale scegliere?Telegram vs WhatsApp for Business, quale scegliere?
Telegram vs WhatsApp for Business, quale scegliere?
 
Usare i bot e le chatbot di Telegram, per una miglior integrazione con i tuoi...
Usare i bot e le chatbot di Telegram, per una miglior integrazione con i tuoi...Usare i bot e le chatbot di Telegram, per una miglior integrazione con i tuoi...
Usare i bot e le chatbot di Telegram, per una miglior integrazione con i tuoi...
 
InsideTelegram & #Digitaltoolitalia a Huckletree Londra
InsideTelegram & #Digitaltoolitalia a Huckletree LondraInsideTelegram & #Digitaltoolitalia a Huckletree Londra
InsideTelegram & #Digitaltoolitalia a Huckletree Londra
 
Seo zoo: webinar telegram for business
Seo zoo: webinar telegram for businessSeo zoo: webinar telegram for business
Seo zoo: webinar telegram for business
 
[SMAU 2017] Telegram for business: Il futuro della comunicazione?
[SMAU 2017] Telegram for business: Il futuro della comunicazione?[SMAU 2017] Telegram for business: Il futuro della comunicazione?
[SMAU 2017] Telegram for business: Il futuro della comunicazione?
 
Smwirome 15-09-2017
Smwirome 15-09-2017Smwirome 15-09-2017
Smwirome 15-09-2017
 
Telegram for Business: ChatBot, Canali ed altro per le nuove strategie di com...
Telegram for Business: ChatBot, Canali ed altro per le nuove strategie di com...Telegram for Business: ChatBot, Canali ed altro per le nuove strategie di com...
Telegram for Business: ChatBot, Canali ed altro per le nuove strategie di com...
 
Telegram for Business Smau Milano 2016
Telegram for Business Smau Milano 2016Telegram for Business Smau Milano 2016
Telegram for Business Smau Milano 2016
 
Telegram for business: scopri come usarlo
Telegram for business: scopri come usarloTelegram for business: scopri come usarlo
Telegram for business: scopri come usarlo
 
WordPress Facilissimo: guida base
WordPress Facilissimo: guida base WordPress Facilissimo: guida base
WordPress Facilissimo: guida base
 
Node js: che cos'è e a che cosa serve?
Node js: che cos'è e a che cosa serve?Node js: che cos'è e a che cosa serve?
Node js: che cos'è e a che cosa serve?
 
Le licenze Creative Commons
Le licenze Creative CommonsLe licenze Creative Commons
Le licenze Creative Commons
 
HCI -> Human Computer Interaction
HCI -> Human Computer InteractionHCI -> Human Computer Interaction
HCI -> Human Computer Interaction
 

Conoscere Android per poterlo Programmare

  • 1. Conoscere Android per poterlo Programmare Autore: Flavius Florin Harabor e-mail: ffinformaticus@gmail.com
  • 2. 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: ffinformaticus@gmail.com
  • 3. Autore: Flavius Florin Harabor e-mail: ffinformaticus@gmail.com
  • 4. 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: ffinformaticus@gmail.com
  • 5. 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: ffinformaticus@gmail.com
  • 6. Conoscere Android per poterlo Programmare Autore: Flavius Florin Harabor e-mail: ffinformaticus@gmail.com
  • 7. Dispositivi e Licenza di Distribuzione Autore: Flavius Florin Harabor e-mail: ffinformaticus@gmail.com 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.
  • 8. 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: ffinformaticus@gmail.com
  • 9. 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: ffinformaticus@gmail.com Conversione da Java Byte-code a Dalvik Byte-code Clicca Qui
  • 10. 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: ffinformaticus@gmail.com
  • 11. 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: ffinformaticus@gmail.com
  • 12. 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: ffinformaticus@gmail.com
  • 13. 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_m enu_adr_app?ie=UTF8&node=1661660031 ● attraverso il client F-Droid =>> https://f-droid.org Autore: Flavius Florin Harabor e-mail: ffinformaticus@gmail.com
  • 14. Android è sicuro come sistema operativo? Sicurezza OS Android http://goo.gl/cGywMq http://goo.gl/VYd7bb http://goo.gl/pq0Z1u Sicurezza App http://goo.gl/39hPHP http://goo.gl/bVJ9M4 http://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: ffinformaticus@gmail.com
  • 15. Conoscere Android per poterlo Programmare Autore: Flavius Florin Harabor e-mail: ffinformaticus@gmail.com
  • 16. 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: ffinformaticus@gmail.com
  • 17. 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: ffinformaticus@gmail.com
  • 18. Conoscere Android per poterlo Programmare Autore: Flavius Florin Harabor e-mail: ffinformaticus@gmail.com
  • 19. 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: ffinformaticus@gmail.com
  • 20. 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-su oi-errori/ ● http://eclipse.org/ ● http://developer.android.com/sdk/index.html?hl=sk ● http://slideme.org/ ● http://www.amazon.it/ ● https://f-droid.org Autore: Flavius Florin Harabor e-mail: ffinformaticus@gmail.com 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
  • 21. FINE Autore: Flavius Florin Harabor e-mail: ffinformaticus@gmail.com