Lab 1: Introduzione ad Android - Università degli Studi di Bergamo Dipartimento di Ingegneria

Pagina creata da Chiara Franchi
 
CONTINUA A LEGGERE
Lab 1: Introduzione ad Android - Università degli Studi di Bergamo Dipartimento di Ingegneria
Università degli Studi di Bergamo
                       Dipartimento di Ingegneria

Lab 1: Introduzione ad Android
Matteo Camilli

matteo.camilli@unimi.it
http://camilli.di.unimi.it

                                                           a.a. 2014/15
                                                                      1
Lab 1: Introduzione ad Android - Università degli Studi di Bergamo Dipartimento di Ingegneria
The world's most popular mobile platform

• Operating system for mobile devices.
• Android powers hundreds of millions of mobile devices in more than 190
  countries around the world. It's the largest installed base of any mobile platform
  and growing fast.
  Open marketplace for                  Powerful development
  distributing your apps                framework
  1.5 billion downloads a month         Android gives you everything
  and growing. Get your apps in         you need to build apps. Easily
  front of millions of users at         optimize a single binary for
  Google's scale.                       phones, tablets, and other
                                        devices.
  Powerful API
  Android API lets you take advantage
  of the hardware capabilities
  available on each device.

 You write Apps with Java code!
                                                                         Android growth in device activations

                                                                                                                2
Lab 1: Introduzione ad Android - Università degli Studi di Bergamo Dipartimento di Ingegneria
Download Eclipse + ADT plugin

• Scaricare versione di Eclipse contenente il plugin “Android Development
  tools” (ADT) adatto al vostro sistema:
  http://developer.android.com/sdk/installing/installing-adt.html
   • Per chi usa il pc del lab: \\dalmine05\CORSI\camilli
   • NOTA BENE: se lavorate sui pc del lab scaricare il tutto e lavorare in /tmp,
     per alleviare problemi di performance.

• Ulteriori informazioni per tool e installazione:
  http://developer.android.com/sdk/index.html

• Ulteriori informazioni sviluppo App (Training)
  http://developer.android.com/training/index.html

                                                                                    3
Lab 1: Introduzione ad Android - Università degli Studi di Bergamo Dipartimento di Ingegneria
Configurazione proxy

• Solo su macchine del lab immettere le seguenti impostazioni nell’SDK
  manager:

                                                                         4
Lab 1: Introduzione ad Android - Università degli Studi di Bergamo Dipartimento di Ingegneria
Download API 4.X

• Andare in SDK manager:

              X

              X

                           5
Esecuzione su emulatore/dispositivo

1) Creare un device virtuale tramite AVD manager
     • NOTA BENE: non scegliere una risoluzione elevata (es. HVGA).
2) Eseguire l’App selezionando il dispositivo creato oppure un device reale collegato via USB.
     • Per eseguire su un dispositivo reale, dovete abilitare la modalità “Debug USB” nel device.

1)                                                 2)

                                                                                                    6
Rendere emulatore più reattivo

• Seguire istruzioni riportate qui sotto in base al vostro sistema operativo:
  http://developer.android.com/tools/devices/emulator.html#acceleration

• Potete installare Genymotion (non dai pc del lab)
  http://www.genymotion.com/
  Richiede Oracle Virtual box
  https://www.virtualbox.org/wiki/Downloads

                                                                                7
Hands On - HelloWorld

1) Creare un progetto Android
2) Introduzione alla struttura del progetto

 http://developer.android.com/training/basics/firstapp/index.html

                                                                    8
Principali componenti di un App

• Un’applicazione Android è impacchettata in un file .apk contenente:
  1) I sorgenti Java dei componenti (directory src)
  2) I file delle risorse e dei layout (directory res)
  3) Il file AndroidManifest.xml che descrive l’intera applicazione. Questo
    package è il veicolo di distribuzione e di istallazione dell’applicazione sui
    dispositivi. Ad esempio specifica:
     • Nome App, versione, versione di Android richiesta, descrizione Activity,
       Services, Intent receiver, Permessi…

                                                                                    9
Overview Architettura

                        10
Application Components

• ACTIVITY
  • Componente UI, tipicamente corrisponde ad una schermata sul dispositivo
• INTENT RECEIVER
  • Permette di scrivere del codice che viene eseguito su particolari eventi.
    L’applicazione viene risvegliata sugli eventi dichiarati:
     • Es: - “Network established”, “When the phone rings”, “on incon tap”, ...
• SERVICE
  • Task eseguito in background senza UI
• CONTENT PROVIDER
  • Consente di condividere dati tra applicazioni

                                                                                  11
Replacing & Reusing Components

                                                             System picks the
  Home          Client components                           components able to
                make a request for                          perform that action
                 a specific action

 Contacts
                                                                       Gallery
              Pick
  photo
  GMail
                                                                       Picasa
                                   Intent
  SMS
                   New components
                                                                      Dropbox
                    can use existing
Facebook              functionality
                                                                Components can be
                                                                 replaced any time
                                                                                     12
Intents (examples)

                                                                                                                          Show
  
                                                                                                                         Location                                                                                    Share
                          go
  Home
                                                                                                                                                                    Edit
  
                                                                                                                                                                  Contacts
...                                                                              Pick
  photo                                                                                                                             ...
      Send
  email
                                                                                                                                                Call
  
                                                                                                                                              number                                                          Open
  
                                                                                                                                                                                                             web
  page
                                                                 Send
  SMS

                                                                                                                                                                                                                                                               13
User Interface

1) L’UI associata ad un’Activity è una gerarchia di oggetti View e ViewGroup inserita tramite il
  metodo activity.setContentView(...)
2) ViewGroup: Contiene e organizza il layout delle view sottostanti.
3) View: Dette anche UI Widjet. Interagiscono direttamente con l’utente.

             Button,
             textField,
             MenuItem,
             ecc.
                                                                                                   14
Hands On - Starting an Activity

1) Partire da progetto Hello world, creare un’altra Activity
  (DisplayMessageActivity). Premendo un bottone della prima activity deve
  apparire su UI l’Activity DisplayMessageActivity.
2) Modificare la prima Activity in modo che accetti un testo immesso
  dall’utente. Premendo sul pulsante il testo viene passato alla seconda Activity
  che lo mostra a video.

 http://developer.android.com/training/basics/activity-lifecycle/index.html

                                                                                    15
Activity Lifecycle

                     16
Hands On - Activity Lifecycle

1) Partendo dal codice dell’App DisplayMessage, fare in modo che al tap sul
  pulsante appaia un messaggio Alert che chiede conferma. Se l’utente
  conferma viene lanciata la seconda activity, altrimenti no.
  http://developer.android.com/guide/topics/ui/dialogs.html

2) Verificare che vengano eseguite correttamente le chiamate alle callback del
  ciclo di vita delle Activity. Potete usare Android Log per far stampare su
  console le varie chiamate.
  http://developer.android.com/reference/android/util/Log.html

3) Seguire il tutorial alla pagina web:
  http://developer.android.com/training/basics/activity-lifecycle/index.html

                                                                                 17
Puoi anche leggere