Algoritmi di programmazione (cosa sono e cosa servono)
Programmazione strutturata (perché farne uso)
Programmazione top‐down e bottom‐up
Evoluzione delle tecniche di programmazione (programmazione procedurale, programmazione ad oggetti)
Compilazione
Tecniche di esecuzione programmi (codici interpretati / codici compilati)
Definizione di variabili/costanti
Definizione costrutti di controllo (if e switch)
Definizione cicli (for,while,do‐while|repeat until)
Definizione funzioni/procedure
Diagrammazione tramite flow‐chart
Pseudocodifica
Debugging
Tecniche base per analisi dei requisiti di un programma (analisi grammaticale, casi d’uso)
Documentazione
Polimorfismo
Overloading e Overriding
Binding dinamico
Casting con oggetti
Cast e instanceof
Introduzione
Espressioni Lambda Semplici: Definizione ed Uso
Espressioni Lambda a Blocchi: Definizione ed Uso
Espressioni Lambda e Generics
Uso delle Espressioni Lambda come argomenti dei metodi
Espressioni Lambda Method Reference: statici, d’istanza
Espressioni Lambda e costruttori
Descrizione ambiente di sviluppo
Installazione SDK
Creazione Macchina Virtuale per il testing delle applicazioni Creazione della prima applicazione
Descrizione struttura del progetto di un app
Definizione di Activity e ciclo vitale di un’app
Uso del Logcat
Internazionalizzazione
Descrizione delle principali tipologie di layout:
ConstraintLayout LinearLayout
SlidingPaneLayout TableLayout
GridLayout
Implementazione di file di layout multipli per fornire supporto a diverse tipologie di device Descrizione dei componenti di base integrabili all’interno di un app
Caselle di testo
Radio Button
CheckBox
Gestione degli eventi
Uso del file Strings.xml, Dimens.xml,Colors.xml
Uso della rating bar e sua customizzazione grafica: introduzione all’uso degli stili Uso della menubar all’interno di un’app
Creazione ed uso delle notifiche
Avvio di activity secondarie: uso dei metodi startActivity e startActivityForResult Integrazione di app di sistema (Intent impliciti)
Uso delle permission
Uso dei file
Uso delle Shared Preferences
Interazione con database SQLite
Uso di container evoluti:
Listview Gridview WebView
Creazione ed utilizzo di adapter custom per la creazione di container evoluti custom Interfacce dinamiche: creazione ed uso dei fragment
Multithreading
Thread
Uso del metodo Post
Uso del metodo runOnUiThread
Uso della classe Handler
AsyncTask
IntentService,BroadCast Receiver
Service
Integrare servizi remoti all’interno delle app
Uso delle socket
HttpUrlConnection/HttpsUrlConnection Uso della progressbar
Integrazione delle mappe all’interno di un app