Lab 1: Introduzione ad Android - Università degli Studi di Bergamo Dipartimento di Ingegneria
←
→
Trascrizione del contenuto della pagina
Se il tuo browser non visualizza correttamente la pagina, ti preghiamo di leggere il contenuto della pagina quaggiù
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
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
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
Configurazione proxy • Solo su macchine del lab immettere le seguenti impostazioni nell’SDK manager: 4
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