Sviluppare in linguaggio Java applicazioni per smartphone...

7
CORSO DI BASE SU ANDROID Sviluppare in linguaggio Java applicazioni per smartphone e tablet

Transcript of Sviluppare in linguaggio Java applicazioni per smartphone...

CORSO DI BASE SU ANDROIDSviluppare in linguaggio Java

applicazioni per smartphone e tablet

Corso di base su Android

Corso di base su AndroidAndroid è un sistema operativo tra i più diffusinei dispositivi multimediali di ultima generazione(smartphone, tablet, smartTV). Secondo i datidisponibili nel primo quadrimestre del 2013 quasiil 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 ilprogrammatore può liberamente studiare ilcodice dello stesso sistema operativo edutilizzarlo in modo del tutto gratuito.

Il sistema di sviluppo scelto per il corso è basatosu Eclipse, anch'esso del tutto gratuito e aperto.Tale sistema di sviluppo è inoltre utilizzabileanche per altri ambiti, quali lo sviluppo diapplicazioni per desktop o di programmi permicrocontrollori in ambito industriale.

Il linguaggio di programmazione per la piattaformaAndroid è Java. Attualmente questo linguaggio sitrova per diffusione di utilizzo in seconda posizionea livello mondiale, come risulta dai dati forniti daTiobe (risultato notevole, considerato che illinguaggio C, primo assoluto ma di poco, è presentenecessariamente in tutte le applicazioni di tipoindustriale). Il corso prevede dunque unapresentazione dei concetti di base del linguaggioJava e della programmazione ad oggetti in generale,accompagnata da cenni sulla programmazionedichiarativa basata su XML.

Uno degli obiettivi didattici del corso consiste nelmostrare agli studenti che non tutti i prodottisoftware sono uguali tra loro, sia in termini diqualità tecnologica sia in termini di opportunità perun'occupazione futura.

Verrà inoltre mostrato come eventualmente pubblicare applicazioni per Androidsul sito ufficiale Google play per poter accedere al mercato mondiale deglisviluppatori di questa piattaforma software.

Il corso prevede una selezione iniziale in ingresso mediante semplici test diverifica delle conoscenze di base di Informatica. Pur non essendo richiesteconoscenze 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 dalterzo 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 Informaticaattrezzata con PC in rete locale e internet e installati consistema operativo Linux e SDK di Android per lo sviluppodelle applicazioni. Con la disponibilità di 15 postazioni èpresumibile una capienza fino ad un massimo di 30corsisti. I PC saranno collegati tra loro con software tipoiTALC per permettere agli studenti di seguire la lezionedal proprio PC e ai docenti di seguire e indirizzarel'operato degli studenti dalla propria postazione.

Gli studenti saranno in grado di provare sul PC di laboratorio quantopresentato 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 sulproprio smartphone o sul proprio tablet per verificarne l'effettivofunzionamento.

Tra le finalità del corso c'è quella di rendere gli studenti più preparati sulle tecnologie che utilizzanoquotidianamente, mostrandone le possibilità ma anche i limiti. Inoltre i corsisti saranno in grado diapplicare praticamente le nozioni acquisite e di avviare magari un'attività di sviluppatore softwarefreelance, con possibilità di impiego virtualmente globali date le possibilità di collaborazioneofferte 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 dellaClasse 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 diun'applicazione. Risorse: Layout, String, String array, Integer array, Drawable, risorse associate afile, 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; w idget ed eventi

View, ViewGroup e Layout: Layout predefinti e personalizzati. ListView, Spinner. La gestione deglieventi. 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. E reditarietà: sottoclasse e superclasse,forzatura e offuscamento, polimorfismo, classi e metodi Final e Abstract. Cenni sull'uso deiGenerics. 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