Topic outline

  • General

    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