Android A. Ferrari.

Slides:



Advertisements
Presentazioni simili
UNO STRUMENTO PER INTERAGIRE CON GLI UTENTI DELLE PAGINE WEB
Advertisements

Programmazione in Java
ARCHIMEDIA Il Programma di ARCHIVIAZIONE OTTICA
Lezione 1 Primi passi in HtML SCRIVERE TESTI di Sergio Capone
AVVIARE IL COMPUTER WINDOWS ‘98 Queta fase è definita BOOTSTRAP
© 2007 SEI-Società Editrice Internazionale, Apogeo Unità A1 Introduzione a Java.
Code::Blocks Ambiente di sviluppo.
PHP.
I linguaggi di programmazione
Installazione di Apache 2, PHP5, MySQL 5
CONOSCIAMO IL WINDOWS '95.
Università degli Studi di Modena e Reggio Emilia
GLUT & OpenGL Ing. Tommaso Coviello Politecnico di Bari
Dr. Giovanni Stracquadanio
FONDAMENTI DI INFORMATICA
Struttura dei sistemi operativi (panoramica)
Corso di Informatica A.A
Windows Sistema operativo con interfaccia grafica per PC IBM compatibili (varie versioni dal 95) La gestione dei file viene fatta secondo le modalità.
1 Titolo Presentazione / Data / Confidenziale / Elaborazione di... ASP. Net Web Part e controlli di login Elaborazione di Franco Grivet Chin.
Ciclo di vita di una activity. Stati di una activity StatoDescrizione RUNNINGL'activity e' in cima allo stack, e' visibile ed ha il focus. E' quella che.
Struttura di un progetto eclipse
Progettare siti con ASP.net
Argomenti della lezione
DBMS ( Database Management System)
Programmazione in Java
Centro Informatico Multimediale Modulo 2 – Utilizzo e gestione dei file.
Android questo sconosciuto … Cosa sapere per poter cominciare a sviluppare Apps Cosa sapere per poter cominciare a sviluppare Apps. Alessandro Franceschetti.
Inserire il CDROM CygWin nel lettore, aprite la directory cyg e lanciare in esecuzione (con un doppio click del pulsante sinistro del mouse sulla relativa.
UNIVERSITÀ DEGLI STUDI DI MODENA E REGGIO EMILIA Facoltà di Ingegneria “Enzo Ferrari” – Sede di Modena Corso di Laurea Specialistica in Ingegneria Informatica.
HTML Lezione 8 I collegamenti ipertestuali (link).
Corso di Informatica A.A Corso di Informatica Laurea Triennale - Comunicazione&Dams Dott.ssa Maria Vittoria Avolio Laurea.
Fondamenti di JSP: Introduzione
Lezione 1 Approccio al sistema operativo : la distribuzione Knoppix Live Cd Knoppix 3.6 Interfacce a caratteri e grafica: console e windows manager File.
Il Linguaggio HTML “Profe, ma io a casa l’HTML non ce l’ho!“
HTML HyperText Markup Language Linguaggio per marcare un’Ipertesto
I sistemi operativi1 CONCETTI FONDAMENTALI l HARDWARE: il componente “materiale” di un sistema informatico l SOFTWARE: il componente “immateriale” di un.
Laboratorio di Elaborazione e Trasmissione Video Marco Vernier – Niki Martinel Dipartimento di Matematica e Informatica Università degli studi di Udine.
PHP - PHP: Hypertext Preprocessor. Introduzione PHP (acronimo ricorsivo per "PHP: Hypertext Preprocessor") è un linguaggio di scripting general-purpose.
HTML Gli elementi principali di una pagina Web. Titolo: 2  Attribuisce un titolo alla pagina  Il titolo è visibile nella “barra del titolo” del browser.
Il Sistema Operativo Il Sistema Operativo è costituito dall’insieme dei programmi necessari per far funzionare tutto l’hardware del calcolatore e per nascondere.
Sommario Cartelle Gestione delle risorse Manifest dell’applicazione
Fondamenti di informatica Oggetti e Java Luca Cabibbo Luca Cabibbo – Fondamenti di informatica: Oggetti e Java Copyright © 2004 – The McGraw-Hill Companies.
Internet e HTML Diffusione di informazioni mediante la rete Internet.
IL Client NOG Ecco la presentazione del Client NOG: è il software che risiede sul computer del cliente e coordina i vari moduli software presenti nella.
HTML HTML e il web.
Tag IMG Per inserire un'immagine in una pagina HTML basta inserire il tag: ; questo tag non ha bisogno di chiusura. Affinché l'immagine venga visualizzata.
TW Asp - Active Server Pages Nicola Gessa. TW Nicola Gessa Introduzione n Con l’acronimo ASP (Active Server Pages) si identifica NON un linguaggio di.
ELABORAZIONE TESTI MICROSOFT WORD EM 09.
Internetworking V anno.
ProgettAzione Tecnologie in movimento V anno. Applicazioni per sistemi mobili.
Easy Studio Realizzazione di un applicazione Android utile all'apprendimento Filippo Druda Istituto Tecnico Industriale Don Orione Fano Esame di Stato.
Corso WEB DESIGN Aprile – Maggio C M S (Content Management System)
Sintesi da pag. 8 a pag. 21. L’ Informatica è la scienza che studia il trattamento automatico dell’informazione. Deriva dal francese «Informatique»
I Sistemi Operativi. Che cosa sono? Il sistema operativo è un software di base che fa funzionare il computer. I Sistemi operativi più importanti sono:
Dispositivi Mobili per Sentiment Analysis
Un sito con Wordpress Includere Digital-mente – Corso livello 4 docente: prof.ssa MANUELA MARSILI.
+ Windows Phone : introduzione e configurazione dell’ambiente Nicolò Sordoni.
Mobile Apps e Android Tecniche Audiovisive Ing. Andrea Proietti Dip. DIET, Laboratorio di Multimedialità, I piano, stanza 111, Via Eudossiana 18,
* R AMAN K AZHAMIAKIN O SCAR Z G IOVANNI D E ITT M. B UONARROTI, T RENTO A NDROID D EVELOPMENT E LEMENTI BASE.
Corso di programmazione di sistemi mobile 1 1 Android Architettura, ambiente di sviluppo e struttura di un progetto.
Utilizzo e gestione dei file Filippo Petroni
Programmazione orientata agli Oggetti Introduzione a Java.
Corso di programmazione di sistemi mobile 1 1 Android Laboratorio Primo Progetto, Toast.
Insegnamento “Tecniche audiovisive” Corso di Laurea in Ingegneria delle Comunicazioni Yahoo! Widget TV Marco Teodori Assistente Ricercatore - Fondazione.
Corso di programmazione di sistemi mobile 1 1 Android Activity, View e Layout.
Laboratorio Android APPINVENTOR Livio Tenze
* R AMAN K AZHAMIAKIN O SCAR Z G IOVANNI D E ITT M. B UONARROTI, T RENTO A NDROID D EVELOPMENT P ERSISTENZA.
Transcript della presentazione:

Android A. Ferrari

Android Android è un sistema operativo per dispositivi mobili. Inizialmente sviluppato da Startup Android Inc. acquisita poi nel 2005 da Google Inc. Il cuore di Android è un kernel Linux. Direttamente nel kernel sono inseriti i driver per il controllo dell’hardware del dispositivo: driver per la tastiera, lo schermo, il touch screen, il Wi-Fi, il Bluetooth, il controllo dell’audio e così via. Sopra il kernel poggiano le librerie fondamentali, anche queste tutte mutuate dal mondo Open Source. OpenGL, per la grafica, SQLite, per la gestione dei dati, WebKit, per la visualizzazione delle pagine Web.

Struttura del sistema

Programmazione La programmazione avviene in Java. Android dispone di una Java Virtual Machine non standard (Dalvik) I sorgenti java vengono compilati in formato dex (Dalvik Executable), una sorta di bytecode. Le applicazioni vengono distribuite in forma di pacchetto autoinstallante, un file con estensione .APK . Questo non è altro che un file compresso, contenente il software (file con estensione .dex) le sue risorse (immagini, suoni ecc...) e alcuni file XML.

Sviluppo di applicazioni E’ necessario installare Android SDK contenente emulatore, documentazione e librerie. http://developer.android.com/sdk/ L’SDK Setup permette poi di scaricare i device virtuali e i componenti aggiuntivi. Con SDK è possibile creare device virtuali (Android Virtual Device AVD) per testare le applicazioni.

Applicazioni con Eclipse Per sviluppare applicazioni con Eclipse è necessario installare il plug-in Android Development Tool (ADT) https://dl-ssl.google.com/android/eclipse/ Configurare Eclipse specificando il percorso dell’Android SDK

Nuovo progetto Android

Ciao Mondo

Le applicazioni Android Attività̀ Blocchi di un’applicazione che interagiscono con l’utente utilizzando lo schermo ed i dispositivi di input, normalmente fanno uso di android.widget. Sono il modello più̀ diffuso e si realizzano estendendo la classe android.app.Activity. Servizio Gira in sottofondo e non interagisce direttamente con l’utente, si realizza estendendo la classe android.app.Service.. Broadcast Receiver Viene utilizzato quando si intende intercettare un particolare evento (esempio compiere un’azione quando si scatta una foto). La classe da estendere è android.content.BroadcastReceiver. Content Provider Sono utilizzati per esporre dati ed informazioni. Costituiscono un canale di comunicazione tra le differenti applicazioni installate nel sistema. Si estende android.content.ContentProvider.

Struttura di una applicazione In un’applicazione Android troviamo una struttura abbastanza complessa di directory: src contiene i package e le classi assets e res ospitano le risorse esterne (immagini, file audio ecc). res ha una speciale struttura predefinita, formata dalle sotto- directory drawable, layout e values. Le cartelle del gruppo drawable servono per le immagini utilizzate dal software, mentre layout e values ospitano dei speciali file XML utili per definire in maniera dichiarativa l’aspetto dell’applicazione ed i valori utilizzati al suo interno gen contiene la speciale classe chiamata R. Invocando questa classe è possibile richiamare via codice le risorse memorizzate sotto la directory res.

Gestione dei valori I valori sono coppie chiave-valore dichiarate all’interno dei file XMLnella cartella res/values. Eclipse, per default, crea il file strings.xml, pensato per raccogliere le stringhe usate dall’applicazione che sarà sviluppata. E’ possibile rinominare il file o aggiungerne altri. L’importante è che tutti i file presenti nella cartella values seguano il modello: <?xml version="1.0" encoding="utf-8"?> <resources> <string name=”scuola">ITIS</string> </resources>

Richiamare le risorse da XML Uno dei problemi della programmazione è l’accoppiamento fra codice e dati. Non è raro vedere dei sorgenti in Java, in C o in qualsiasi altro linguaggio, con valori e messaggi digitati direttamente dentro il codice. E’ sempre consigliabile separare i dati dal codice, perché́ in questo modo il software è più̀ facile sia da realizzare sia da mantenere. Android favorisce la pratica del disaccoppiamento fra dati e codice. Un’applicazione Android è costituita da file dichiarativi XML e da classi Java. Sia in un caso sia nell’altro, ci sono scorciatoie per richiamare le risorse incluse in res.

Un esempio Il nome dell’applicazione è inserito in un file xml <?xml version="1.0" encoding="utf-8"?> <resources> <string name="app_name">LaMiaApplicazione</string> </resources> e può essere richiamato nel descrittore dell’applicazione AndroidManifest.xml <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="mypackage" android:versionCode="1" android:versionName="1.0"> <application android:label="@string/app_name"> ... </application> </manifest>

Risorse da Java Valori e risorse possono essere richiamati da codice Java servendosi della classe android.content.res.Resources. All’interno di una attività è sufficiente richiamare il metodo getResources() per ottenere il punto d’accesso alle risorse dell’applicazione: Resources res = getResources(); String nomeApplicazione = res.getString(R.string.app_name);

Ciao mondo (2)

Ciclo di vita di un’attività

I metodi di un’attività protected void onCreate(android.os.Bundle savedInstanceState) Richiamato non appena l’attività viene creata. protected void onRestart() Richiamato per segnalare che l’attività sta venendo riavviata dopo essere stata precedentemente arrestata. protected void onStart() Richiamato per segnalare che l’attività sta per diventare visibile sullo schermo. protected void onResume() Richiamato per segnalare che l’attività sta per iniziare l’interazione con l’utente. protected void onPause() Richiamato per segnalare che l’attività non sta più interagendo con l’utente. protected void onStop() Richiamato per segnalare che l’attività non è più visibile sullo schermo. protected void onDestroy() Richiamato per segnalare che l’applicazione sta per essere terminata.

Interfacce Gli oggetti fondamentali delle interfacce grafiche Android sono gli oggetti View e Viewgroup. Sono oggetti View: bottoni campi di testo icone gli altri oggetti di un’interfaccia grafica Sono oggetti ViewGroup: i contenitori che possono mettere insieme più oggetti View. I ViewGroup, inoltre, sono a loro volta degli oggetti View, e di conse- guenza un possono contenere altri ViewGroup.

Widget Con il termine widget (congegno) si indicano quei componenti di base per l’interazione con l’utente, come i bottoni, le check box, le liste, i campi di testo e così via. I widget predefiniti di Android estendono tutti (direttamente o indirettamente) la classe View, e sono nel package android.widget.

Layout Con il termine layout (disposizione, impaginazione), in Android, si identificano tutti quei ViewGroup utilizzabili per posizionare i widget sullo schermo. Android fornisce una serie di layout predefiniti.

I layout predefiniti FrameLayout LinearLayout RelativeLayout visualizza tutti i componenti figli nell'angolo in alto a sinistra. Se si aggiungono più figli, ogni nuovo figlio va a finire sopra il precedente nascondendo il precedente LinearLayout allinea tutti i figli in una linea orrizontale o in verticale. Un Layout verticale ha una colonna di componeti, mentre un layout orrizontale ha una riga di componenti. RelativeLayout permette di definire la posizione di ogni figlio relativamente agli altri e al bordo dello schermo. TableLayout permette di disporre i componenti in una griglia di righe e colonne. Gallery visualizza una singola riga di componenti in una lista scorrevole orizzontalmente.

XML e interfacce grafiche La moderna logica di programmazione suggerisce di separare il più possibile la definizione delle interfacce grafiche dalla logica di programmazione. L’ambiente di sviluppo Android propone come soluzione la gestione delle interfacce mediante XML Eclipse con il plug-in per Android forniscono un editor grafico che rende facile la definizione delle interfacce e memorizza la struttura in un fiel XML

editor grafico