corso di base su android - Un altro sito sull`elettronica

CORSO DI BASE SU ANDROID
Sviluppare in linguaggio Java
applicazioni per smartphone e tablet
Corso di base su Android
Corso di base su Android
Android è un sistema operativo tra i più diffusi
nei dispositivi multimediali di ultima generazione
(smartphone, tablet, smartTV). Secondo i dati
disponibili nel primo quadrimestre del 2013 quasi
il 60% dei dispositivi mobili ha adottato Android
(OHA - Open Handset Alliance).
Questo sistema operativo si basa sul kernel
Linux, ed è totalmente aperto; ciò significa che il
programmatore può liberamente studiare il
codice dello stesso sistema operativo ed
utilizzarlo in modo del tutto gratuito.
Il sistema di sviluppo scelto per il corso è basato
su Eclipse, anch'esso del tutto gratuito e aperto.
Tale sistema di sviluppo è inoltre utilizzabile
anche per altri ambiti, quali lo sviluppo di
applicazioni per desktop o di programmi per
microcontrollori in ambito industriale.
Il linguaggio di programmazione per la piattaforma
Android è Java. Attualmente questo linguaggio si
trova per diffusione di utilizzo in seconda posizione
a livello mondiale, come risulta dai dati forniti da
Tiobe (risultato notevole, considerato che il
linguaggio C, primo assoluto ma di poco, è presente
necessariamente in tutte le applicazioni di tipo
industriale). Il corso prevede dunque una
presentazione dei concetti di base del linguaggio
Java e della programmazione ad oggetti in generale,
accompagnata da cenni sulla programmazione
dichiarativa basata su XML.
Uno degli obiettivi didattici del corso consiste nel
mostrare agli studenti che non tutti i prodotti
software sono uguali tra loro, sia in termini di
qualità tecnologica sia in termini di opportunità per
un'occupazione futura.
Verrà inoltre mostrato come eventualmente pubblicare applicazioni per Android
sul sito ufficiale Google play per poter accedere al mercato mondiale degli
sviluppatori di questa piattaforma software.
Il corso prevede una selezione iniziale in ingresso mediante semplici test di
verifica delle conoscenze di base di Informatica. Pur non essendo richieste
conoscenze specifiche del particolare linguaggio adottato risultano utili alcune
Sviluppare in linguaggio Java applicazioni per smartphone e tablet
Corso di base su Android
nozioni di base della programmazione strutturata, motivo per cui il corso è rivolto agli alunni dal
terzo anno in poi, sia del Tecnico Industriale che dello Scientifico delle Scienze Applicate.
Le lezioni saranno organizzate in unità di due ore e mezza, strutturate nel modo seguente:
•
mezz'ora di domande e risposte sugli argomenti trattati nel corso della lezione attuale o
precedente e sui contenuti relativi alle esercitazioni assegnate per casa
•
un'ora di teoria dedicata allo studio della piattaforma Android o del linguaggio Java, in
sequenza alternata nel corso delle lezioni
•
un'ora di esercitazione sui temi trattati, basata sullo studio di un'applicazione di tipo gioco
per smartphone o tablet (non ancora identificata in modo definitivo)
Il corso si svolgerà in una delle aule di Informatica
attrezzata con PC in rete locale e internet e installati con
sistema operativo Linux e SDK di Android per lo sviluppo
delle applicazioni. Con la disponibilità di 15 postazioni è
presumibile una capienza fino ad un massimo di 30
corsisti. I PC saranno collegati tra loro con software tipo
iTALC per permettere agli studenti di seguire la lezione
dal proprio PC e ai docenti di seguire e indirizzare
l'operato degli studenti dalla propria postazione.
Gli studenti saranno in grado di provare sul PC di laboratorio quanto
presentato durante la lezione e continuare lo sviluppo anche a casa,
poiché tutti gli strumenti software utilizzati sono completamente gratuiti.
Inoltre l'applicazione realizzata dagli studenti potrà essere caricata sul
proprio smartphone o sul proprio tablet per verificarne l'effettivo
funzionamento.
Tra le finalità del corso c'è quella di rendere gli studenti più preparati sulle tecnologie che utilizzano
quotidianamente, mostrandone le possibilità ma anche i limiti. Inoltre i corsisti saranno in grado di
applicare praticamente le nozioni acquisite e di avviare magari un'attività di sviluppatore software
freelance, con possibilità di impiego virtualmente globali date le possibilità di collaborazione
offerte da Internet.
Sviluppare in linguaggio Java applicazioni per smartphone e tablet
Corso di base su Android
Struttura del corso
Lezione 1 (Android)
Introduzione ad Android
Sito ufficiale degli sviluppatori Android : Progettazione, Sviluppo, Distribuzione
Strumenti dello sviluppatore, download SDK di Android , workflow, guida agli strumenti, esempi
Costruire la prima applicazione
Creare un progetto Android, eseguire l'applicazione, costruire una semplice interfaccia utente,
avviare un'altra Activity.
Domande e risposte
Lezione 2 (Java)
Domande e risposte
Java: linguaggio di programmazione e piattaforma; concetti OOP
Linguaggio di programmazione e piattaforma Java. Applicazione “Hello world”, definizione della
Classe HelloWorldApp e Metodo main. Concetto di Oggetto, Classe, Ereditarietà, Interfaccia,
Package.
Esercitazione
Lezione 3 (Android)
Domande e risposte
Componenti e risorse; Activity e Intent
Activity, Intent e Intent Filter, BroadCast Receiver, Service, Content Provider, architettura di
un'applicazione. Risorse: Layout, String, String array, Integer array, Drawable, risorse associate a
file, configurabilità delle risorse e I18N (internazionalizzazione). Ciclo di vita di una Activity,
processi e task, Intent resolution, comunicazione tra Activity.
Sviluppare in linguaggio Java applicazioni per smartphone e tablet
Corso di base su Android
Esercitazione
Lezione 4 (Java)
Domande e risposte
Basi del linguaggio; Classi e Oggetti
Variabili, operatori, espressioni, istruzioni e blocchi. Istruzioni di controllo di flusso. Classi, oggetti,
classi annidate, tipi enumerati, annotazioni.
Esercitazione
Lezione 5 (Android)
Domande e risposte
View e Layout; widget ed eventi
View, ViewGroup e Layout: Layout predefinti e personalizzati. ListView, Spinner. La gestione degli
eventi. I widget: TextView, EditText, Button, Checkbox, Radio Button, Toggle Button.
Esercitazione
Lezione 6 (Java)
Domande e risposte
Interfacce ed Ereditarietà; Generics; numeri e stringhe
Interfacce: definizione, implementazione, uso come tipo. Ereditarietà: sottoclasse e superclasse,
forzatura e offuscamento, polimorfismo, classi e metodi Final e Abstract. Cenni sull'uso dei
Generics. Classi numeri, caratteri, stringhe.
Esercitazione
Sviluppare in linguaggio Java applicazioni per smartphone e tablet
Corso di base su Android
Lezione 7 (Android)
Domande e risposte
Menu, Dialog e Toast; gestione dei dati
Menu: Options Menu, ContextMenu, Menu alternativi, definizione dichiarativa dei menù. Toast,
Dialog. Preferences, file system locale, SD card, SQLite: cenni. ContentProvider: realizzazione,
utilizzo, ContentProvider di Android.
Esercitazione
Lezione 8 (Java)
Domande e risposte
Eccezioni; collezioni
Cos'è un'eccezione. Cattura e gestione delle eccezioni. Come sollevare un'eccezione. Collezioni:
Java Collections Framework, interfacce, implementazioni. Algoritmi: ordinamento, mescolamento,
ricerca, composizione, ricerca di valori estremi. Implementazione di collezioni personalizzate.
Esercitazione
Lezione 9 (Android)
Domande e risposte
Multithreading e servizi; rete e sicurezza; WebView e MapView
Thread, Handler e Looper. Notification Service. I componenti Service: servizi locali e remoti.
Broadcast Receiver, Loader. Accesso a servizi HTTP, Android e la sicurezza. WebKit, WebView:
funzioni di navigazione, JavaScript. Visualizzazione delle mappe: MapView e MapActivity,
LocationManager.
Esercitazione
Sviluppare in linguaggio Java applicazioni per smartphone e tablet
Corso di base su Android
Lezione 10 (Android)
Domande e risposte
AppWidget, Gesture, TextToSpeech; Fragment e ActionBar.
Le AppWidget, AppWidget Provider, Appwidget e Collection. A cosa servono i Fragment, ciclo di
vita di un Fragment, FragmentManager e FragmentTransaction. ListFragment, comunicazione tra
Fragment e Activity. Utilizzo della ActionBar.
Esercitazione
Conclusioni
Come è andata ? Moduli di feedback.
Sviluppare in linguaggio Java applicazioni per smartphone e tablet