Programmazione Android



Похожие документы
Tecniche di progettazione e sviluppo di applicazioni mobile

Basi Android. Android si definisce open. Con8ene tecnologie open source. Il codice di Android è open. Licenza Open Source Apache 2.

Programmazione Android. Giovanni Perbellini Università di Verona EDALab S.r.l.

Programmazione Android. Giovanni Perbellini Università di Verona EDALab S.r.l.

Programmazione in ambiente

Sistemi Mobili e Wireless Android Primi passi

ANDROID. Domenico Talia. Università della Calabria.

L ambiente di sviluppo Android Studio

Prova Finale a.a. 2011/2012. Laboratorio 1: Introduzione a Java e Eclipse

La prima applicazione Java con NetBeans IDE. Dott. Ing. M. Banci, PhD

Ambienti di Sviluppo

Introduzione all uso di Eclipse

Corso App modulo Android. Antonio Gallo

ANDROID 4.2 JELLY BEAN Installazione e configurazione dell ambiente

MagiCum S.r.l. Progetto Inno-School

Caratteristiche principali. la struttura open source (escluse alcune versioni intermedie) il suo basarsi su kernel Linux.

Sviluppo su Android. Linux Day Torino 2010

Guida all uso dell ambiente di sviluppo 1 integrato o IDE. JCreator LE 4.50

Android development. Sviluppo di Mobile Apps sul sistema operativo di Google

MOBILE WEB DESIGN TUTORIAL ANDROID METAIO AUGMENTED REALITY

Fondamenti di Informatica 1. Prof. B.Buttarazzi A.A. 2010/2011

Introduzione ad Eclipse

Tale attività non è descritta in questa dispensa

Scuola Professionale e Filologica Geom. F.Borgogna Vercelli

Android. Android. Sviluppo di applicazioni. Dalvik 19/03/2011. A. Ferrari

StartUp programmazione C++ con EVC4 1. SVILUPPO APPLICAZIONI VISUAL C++...2

INTRODUZIONE ALLE PIATTAFORME

Indice generale. Capitolo 1 Introduzione ad Android... 1

Indice: Introduzione 1 Strumenti di lavoro 2 Istallare Eclipse e SDK 3 Istallare l ADT in eclipse 4. Powered by: Vincenzo Acinapura

Ingegneria del Software 1: Eclipse

Architettura di un sistema operativo

Corso Eclipse. Prerequisiti. 1 Introduzione

Sistemi Mobili e Wireless Android Introduzione alla piattaforma

Corso Android New Edition Corso Online Programmatore Android New Edition

Installazione e Configurazione della strumentazione necessaria. Antonio Gallo info@laboratoriolibero.com

Informatica. Prof. A. Longheu. Introduzione a Java

Scaletta. Estensioni UML per il Web. Applicazioni web - 2. Applicazioni web. WAE: Web Application Extension for UML. «Client page»

Corso Eclipse. Prerequisiti. 3 Window Builder

Programmazione Fondi Strutturali 2007/2013 P.O.N. FSE A.S. 2013/2014 SCHEDA PROGETTUALE MODULO. Obiettivo: C Azione: 1 Riferimento interno:

GUIDA DOCENTE ALL USO DELLA PIATTAFORMA EXCHANGE E-LEARNING - Lotus Quickr

Come valutare e scegliere un Sistema Operativo Embedded

Introduzione a Yocto Project

2 Android Market e la commercializzazione delle applicazioni 35

Corso Programmazione Android

Introduzione a Dev-C++

Breve introduzione curata da Alessandro Benedetti. Struts2-Introduzione e breve guida

14/10/2015 ALESSANDRAZULLO SVILUPPO DI APPLICAZIONI ANDROID- VERSIONE 1. Alessandra Zullo

Corso Corso di di programmazione di di sistemi mobile 1 1. Android Laboratorio. Primo Progetto, Toast

Android per sistemi embedded

Telematica II 5. Esercitazione/Laboratorio 1

Istruzioni per l utilizzo di file KML (Google Earth) con Software dei navigatori satellitari TELE System

Progettazione e Sviluppo dell Applicazione Web Share Mobile per Dispositivi Mobili Multipiattaforma. Elaborato di Laurea di: Marco Stanzani

Corso Programmazione Java ed Android

Introduzione ai Web Services Alberto Polzonetti

Il web server Apache Lezione n. 3. Introduzione

Università degli Studi di Catania Corso di Laurea Magistrale in Informatica Multimedia 2013/14. Cantarella Danilo. OpenCV Android

Installazione del Software. per lo Sviluppo di Applicazioni Java

TIMESHARK: Uno strumento per la visualizzazione e l analisi delle supertimelines. Relatore: Federico Grattirio

Android world. Sviluppare app per Android. Un insieme di software per dispositivi mobili (smartphone, tablet, portatili...)

Configurare TPTP in Eclipse e testare un applicazione

Strumenti per la programmazione

Introduzione a phpmyadmin

Lezione 9. Applicazioni tradizionali

Laboratorio di Elaborazione e Trasmissione Video

Servizi web in LabVIEW

Protocolli e architetture per WIS

GNred Ver1.5 Manuale utenti

Obiettivi d esame PHP Developer Fundamentals on MySQL Environment

Android Introduzione all architettura, alla programmazione e alla sicurezza. Alessandro Tanasi alessandro@tanasi.

Il CMS Moka. Giovanni Ciardi Regione Emilia Romagna

1.0 GUIDA PER L UTENTE

Come visualizzare un dispositivo EZVIZ via web browser / Client mobile / client software ivms-4200

Panoramica: che cosa è necessario

Guida. Macchina Scratch

Scaletta. Strumenti di sviluppo Prima applicazione Aspetti peculiari di Android. Conclusioni. Activity e Intent. MoBe s.r.l.

RepairsLab Manuale Utente. RepairsLab. Manuale Utente

Progettazione e Implementazione di API WebSocket per il Gateway Dog

INSTALLARE L AMBIENTE DI SVILUPPO PER JOOMLA 2.5

GestVetrine 1.1 versione novembre 2014

2015 PERIODO D IMPOSTA

Eclipse - Nozioni Base

Programmazione Orientata agli Oggetti in Linguaggio Java

Utilizzare Event Viewer

Model Driven Software Development con Eclipse, StatechartUMC

Sistemi Mobili e Wireless Android Localizzazione utente

Estensione di un servizo di messaggistica per telefonia mobile (per una società di agenti TuCSoN)

Approfondimenti. Contenuti

Installazione Qt/Qt Quick per target Android

Cos è Infinity Project

MANUALE PER CONSULTARE LA RASSEGNA STAMPA VIA WEB

Installazione MS SQL Express e utilizzo con progetti PHMI

Транскрипт:

Programmazione Android Giovanni Perbellini, Stefano Cordibella Università di Verona EDALab S.r.l. Agenda Introduzione Android Overview Ambiente di sviluppo Esempi Helloworld Weather 2 1

Cos è Android? Stack software che include: Sistema operativo Middleware Applicazioni Android SDK Fornisce gli strumenti e le API per sviluppare applicazioni su terminali mobili Android utilizzando il linguaggio di programmazione Java 3 Architettura Android 4 2

Email Calendar Agenda Maps Browser SMS program Etc. Application 5 Application framework (I) Insieme di componenti, API e servizi utili per lo sviluppo di nuove applicazioni. Stesse API usate per lo sviluppo delle core applications. Si sfrutta il concetto del riuso dei componenti ogni applicazione può usare le potenzialità/caratteristiche di altre applicazioni 6 3

Application framework (II) Include i seguenti servizi: View Lists, grids, buttons, text boxes, web browser, etc. Content providers Permette alle applicazioni di accedere ai dati di altre applicazioni (e.g., Agenda) oppure di condividere i propri dati ad altre applicazioni. Resourse manager Accesso a risorse del tipo: file esterni (XML, PNG, JPEG) inclusi nell applicazione a build-time. Notification manager Per fornire alle applicazioni uno strumento di notifica Activity manager Gestisce il ciclo di vita di ogni applicazione 7 Libraries Insieme di librerie C/C++ usate dai vari componenti di Android. Esportate allo sviluppatore attraverso Android application framework. Alcuni esempi: System C library: implementazione della libc per embedded system. SQLite: DB embedded. Media libraries: gestione di componenti audio video. Etc. 8 4

Android runtime Include le librerie che forniscono le funzionalità principali di Java. Dalvik Virtual Machine Esegue file nel formato.dex (Dalvik Executable) Possibilità di caricare più VM in modo efficiente. 9 Linux kernel Sfrutta Linux kernel 2.6 per i servizi principali come: Security, memory management, process management, network stack, driver model. 10 5

Ambiente di sviluppo (I) Android SDK Contiene API, compilatore, debugger, emulatore (Android Virtual Device), etc. Aggiungere Android platform (1.6 o 2.0) attraverso AVD Manager Eclipse IDE per lo sviluppo di applicazioni Eclipse Plugin ADT (Android Development Tools) Permette di creare un progetto Android Aggiunge componenti di Android Framework API Debug applicazioni tramite Android SDK tools Crea l APK (Android Package) file per distribuire l applicazione 11 Ambiente di sviluppo (II) Possibilità di creare un progetto Android senza Eclipse Android SDK include il tool android per creare tutto il codice sorgente, directory, file ant per la compilazione. Esempio di creazione del progetto HelloAndroid android create project \ --package com.android.helloandroid \ --activity HelloAndroid \ --target 2 \ --path <path-to-your-project>/helloandroid 12 6

Esempio: Helloworld (I) Creare il nuovo progetto: File -> New -> Project... Selezionare Android -> Android Project -> Next 13 Esempio: Helloworld (II) Riempire i campi: Project Name -> HelloAndroid Selezionare la piattaforma desiderata Application Name : HelloAndroid Package Name: org.edalab Create Activity: Hello Finish 14 7

Esempio: Helloworld (III) Editare il file in src -> org.edalab -> Hello.java aggiungendo: // We want to view some very simple text, so we need a TextView TextView tv = new TextView(this); // Put some text to the newly created TextVIew tv.settext("hello Android!!!!\n"); // Tell our App to display the textview this.setcontentview(tv); eliminare la riga: setcontentview(r.layout.main); 15 Esempio: Helloworld (IV) A questo punto si possono aggiungere elementi grafici attraverso: res -> layout -> main.xml. Esistono tool più evoluti presenti nella stessa sdk come ad esempio layoutopt. 16 8

Esempio: Weather (I) Applicazione per la visualizzazione di informazioni metereologiche dato come input la città. Contenuti: Reperimento di informazioni da internet Interazione con le Google Weather API Parsing di file XML (utilizzando SAXParser) Personalizzare la parte grafica estendendo LinearLayout 17 Esempio: Weather (II) Importare il progetto: File -> Import -> General -> Existing project into workspace Selezionare Next Selezionare Select archive file e quindi Browse Puntare all archivio WeatherForecast.tar.gz Finish 18 9

Esempio: Weather (III) Impostare la piattaforma desiderata: Project -> Properties -> Android Selezionare la piattaforma 2.1 Apply e quindi OK Selezionare il progetto con il tasto destro -> Android Tools -> Fix Project Properties Ora è possibile eseguire l applicazione. 19 Esempio: Weather (IV) Effettuare una HTTP Get (WeatherForecast.java): /* Use HTTPClient to deal with the URL */ HttpClient httpclient = new DefaultHttpClient(); HttpGet httpget = new HttpGet(queryString.replace(" ", "%20")); // create a response handler ResponseHandler<String> responsehandler = new BasicResponseHandler(); String responsebody = httpclient.execute(httpget, responsehandler); 20 10

Esempio: Weather (V) Interazione con le Google Weather API: Formattazione della richiesta http secondo il formato: http://www.google.com/ig/api?weather=query dove QUERY ha il formato Città,Nazione; ad es: http://www.google.com/ig/api?weather=verona,italy 21 Esempio: Weather (VI) Parsing di file XML (SAXParser): /* Get a SAXParser from the SAXPArserFactory. */ SAXParserFactory spf = SAXParserFactory.newInstance(); SAXParser sp = spf.newsaxparser(); /* Get the XMLReader of the SAXParser we created. */ XMLReader xr = sp.getxmlreader(); /* Create a new ContentHandler and apply it to the XML-Reader */ /* GoogleWeatherHandler is a SAXHandler capable of extracting information out of the xml-data returned by the Google Weather API. */ GoogleWeatherHandler gwh = new GoogleWeatherHandler(); xr.setcontenthandler(gwh); 22 11

Esempio: Weather (VII) Personalizzazione della parte grafica: Creazione della classe SingleWeatherInfoView 23 Esempio: Weather (VIII) Uso dell applicativo Hierarchy Viewer: Applicazione Java che permette di navigare la struttura degli elementi grafici a run time; Si avvia lanciando hierarchyviewer da terminale con l emulatore attivo; Due possibilità di visualizzazione: Layout View Pixel Perfect View 24 12