Topic outline

  • Informazioni generali:

    - Corso di Laurea: CLEII
    - CFU: 6
    - Docente: Simone Di Nardo Di Maio
    - Email: simone.dinardo@unich.it
    - Orario lezioni: lunedì-martedì 16.00-18.00
    - Ricevimento: lunedì 18.00-19.00

    Programma

    - Introduzione ad Android.
    - Linguaggi di Markup: XML.
    - Servizi di hosting e versioning: GIT.
    - Ambiente di sviluppo: Android Studio.
    - Architettura, strutture e risorse di un'applicazione Android.
    - Ciclo di vita delle App.
    - Interfaccia utente: Layouts, RecyclerView e Menu.
    - Activities.
    - Intents.
    - Widgets.
    - Introduzione al Material Design.

    Modalità di esame:

    - Progetto e discussione orale

  • Android

    Introduzione ad Android
    - Caratteristiche di Android
    - Versioni di Android
    - Architettura base di Android
    - "Componenti" di una App
      - Manifest
      - File dex
      - Risorse
      - Asset
      - Certificato
    - Java vs Kotlin


  • Ciclo di vita delle Applicazioni

    - Android Studio (link)
    - Gradle (link)
    - Activity
    - Ciclo di vita delle Activity
    - I metodi di Callback

    Esercizio:
    Creare un'applicazione Android: nell’Activity predefinita, ridefinire tutte le callback del ciclo di vita

  • Event ed eventListener

    - LogCat (link)
    - Il modello ad eventi:
      - UI Events (link)
      - Event Listener
        - Implementazione classica
        - Implementazione con classi anonime
    - I Widgets:
      - Button
      - TextView

    Esercizio:
    Creare una app con un pulsante ed un'area di testo. Quando si preme il pulsante, appare una scritta nell'area di testo.

  • Layout

    - Il linguaggio XML
      - Introduzione
      - Benefici
      - Struttura
      - XML Schema
    - I Layout di Android
      - Linear Layout (link)
         - Gravità, pesi
         - Orientamento

    Esercizi:
    - Creare una App che contenga 4 button, disposti come in figura allegata: utilizzare il LinearLayout,
    - Creare una App, utilizzando solo il LinearLayout, che contenga 9 Button, ognuno con un testo differente. Questi ultimi devono essere disposti su 3 file, in modo da formare una matrice 3x3. Aggiungere, in basso, una TextView: alla pressione di uno dei Button, la TextView deve essere valorizzata col testo del Button.

  • Relative Layout e Git

    Relative Layout (guida ufficiale)

    Git (link, guida tascabile)
    - Integrazione di Git in Android Studio
    - GitLab (https://gitlab.com/programmazione-avanzata-2019-2020)

    Esercitazioni pratiche

  • TableLayout

    - TableLayout (guida ufficiale)
    - Esercitazioni
      - Piani di studio: creare un arrayList di oggetti della classe Insegnamento; mostrare all'interno di una textView tutti gli elementi presenti all'interno dell'array. 

  • RecyclerView

    Le liste in Android:
    - RecyclerView (guida ufficiale)
    - Layout Manager
    - Adapter
    - Il pattern ViewHolder

    Esercitazione: modificare il progetto PianiDiStudio utilizzando la RecyclerView per visualizzare gli elementi dell'ArrayList ()https://gitlab.com/programmazione-avanzata-2019-2020/pianidistudio

  • Intent

    - Gli Intent in Android (link);
    - Navigare tra le Activity;
    - Uso di Extra negli Intent.

  • Object in Intent

    Inserire Object negli Extra degli Intent:
    - Serializable (link);
    - Parcelable (link).
  • Resources in Android

    - Struttura di un progetto in Android;
    - Tipologie di Risorse (link, link2);
    - Alternative;
    - Localizzazione delle App (link).

  • Topic 11

  • Topic 12

  • Topic 13

  • Topic 14