Sistemi Mobili e Wireless Android - Risorse

Documenti analoghi
Sistemi Mobili e Wireless Android Interfacce utente: Widget e Layout (2)

Sistemi Mobili e Wireless Android Interfacce utente: Widget e Layout (1)

Sistemi Mobili e Wireless Android Action bar e menu

Lezione 2 Gestione delle risorse

Sistemi Mobili e Wireless Android Selection widget e adapter

Lezione 2 Gestione delle risorse

Sistemi Mobili e Wireless Android - Intent

Esercizio 1: archivio CD e DVD

Università degli studi di Verona. Corso di Informatica di Base. Lezione 4 - Parte 2. Rifinitura di un documento

Programmazione. Android

Android. Layout.

Documentazione Metodi v0.6

Javascript. - Corso Web Design - Media Dream Academy. Stefano Gaborin

Allegato B Caratteristiche tecniche, funzionali e grafiche del sito internet realizzato

Configurazione di una LAN in ambiente Windows

Android. Project, Activity, Layout e Toast

ANDROID. Mobile Web Design

Concetti base programmazione. Antonio Gallo

OO puro. Primi concetti di Java. Tipi primitivi. Ogni cosa è un oggetto. Java è object-oriented puro Non come il C+ + (OO ibrido) Lorenzo Bettini

Android. Android01: Introduzione alle Activity.

Programmazione Orientata agli Oggetti in Linguaggio Java

Verso l architettura MVC-2 Java Server Pages (JSP)

Modulo 6. Strumenti di Presentazione

Atlantis Land Technical Resources Product: A02-RA3/ A02-RA3+ / A02-WRA4-54G /A02-RA440 Subject: MultiNAT e One-to-One NAT Language: Italiano

ACCESS. Database: archivio elettronico, dotato di un programma di interfaccia che facilita la registrazione e la ricerca dei dati.

Calcoli con Fogli Elettronici

Un file system nasconde la complessità dei diversi media proponendone una astrazione.

Guida introduttiva al PHP

Android lezione 9 Le listview

Informatica d ufficio

Lezione 1 Primi passi con Android

Linguaggi di Markup. Violetta Lonati. Dipartimento Scienze dell Informazione Università degli Studi di Milano

CODE MODEL - Modalità di scrittura del codice

SMS Gateway - Specifiche WS. Specifica Tecnica

MANUALE MODULO WIDGET EVENT TRACKING LICENZA SaaS

WICSLIDE 160. Manuale d uso componente scorrevole

ArcGIS - ArcView ArcCatalog

Master SIT settembre Corso Web & GIS. Chiara Renso. ISTI- CNR

Tecnologia dell Informazione

Makefile. Il file dependency system di Unix (serve ad automatizzare il corretto aggiornamento di più file che hanno delle dipendenze)

VISUAL BASIC FOR APPLICATION

Il DOS diagramma di flusso. I comandi del DOS. I comandi: vista funzionale. Parametri. Opzioni. I comandi: sintassi

Guida per la personalizzazione dei modelli di stampa / salvataggio documenti

IMMAGINI INTRODUZIONE

Tesina esame Programmazione di Sistemi Mobile realizzata da Roberto Giuliani matricola Sicurezza e Permission in Android

Definizione di file. Directory e file File binari e file di testo

Introduzione alla Base Informativa di Progetto

Struttura progetto Phonegap/Cordova. Antonio Gallo

Elementi lessicali. Lezione 4. La parole chiave. Elementi lessicali. Elementi lessicali e espressioni logiche. Linguaggi di Programmazione I

Strutture dati e loro organizzazione. Gabriella Trucco

Cosa è importante: pom.xml Goal Plug-in Repository

Istruzioni per la modifica del template di profilo personale

perror: individuare l errore quando una system call restituisce -1

Modifica Pagina Web. Pulsante LogOut: cliccare per uscire dall'ambiente di amministrazione

Laboratorio Progettazione Web Le funzioni in PHP. Angelica Lo Duca IIT-CNR 2012/2013

Verso l architettura MVC-2 Java Server Pages (JSP)


LabVIEW parte II. Ing. Gianfranco Miele November 3, 2010

Introduzione al Foglio Elettronico

Indice. Introduzione PARTE PRIMA FONDAMENTI 1

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

Tecnologie Web T DTD Document Type Definition

D B M G Il linguaggio HTML

Sviluppo di App per sistema operativo Android

Windows. La prima realizzazione di un ambiente grafico si deve alla Apple (1984) per il suo Macintosh. La gestione dei file conserva la logica del DOS

FILES. Componente per la gestione dei files in Joomla. Release di test per Joomla! 3.7.x. By Helios Ciancio

3.5.1 PREPARAZ1ONE I documenti che si possono creare con la stampa unione sono: lettere, messaggi di posta elettronica, o etichette.

Elaborato Shell. Elementi di architettura e sistemi operativi 2016/2017

Utente Istruzioni per la Compilazione Online Domanda Servizio Civile

IDE DevC

Programma del corso. Elementi di Programmazione. Introduzione agli algoritmi. Rappresentazione delle Informazioni. Architettura del calcolatore

Concetti base. Java - package 2

Compatibilità con ScanNCut (macchina da taglio Brother)

AWN. Manuale utente Web Mail. Rev AWN ArchiWorld Network. Pag. 1 / 49. v Manuale utente della Web Mail

Abstract Questo documento descrive il back-end del sito web del progetto MOVIO. In particolare è riferito all uso dell Archivio Media.

Flash platform e accessibilità

Passare argomenti al programma

Moduli Bluetooth 03 - connessione seriale via BT

Guida introduttiva su Eclipse. Ing. Marco Dell'Unto

PG5 Starter Training Applicazione Daniel Ernst EN Stefano Peracchi IT

Parte II.4 World Wide Web

Guida per l'utente. Funzione Trovami/Seguimi di Nortel Business Communications Manager. Introduzione

Inoltrare un messaggio.

Android Material. Toolbar, FAB buttons, Dailogs

Lab.1 - Excel. Prof. De Michele e Farina

Algoritmi di Ricerca. Esempi di programmi Java

INTRODUZIONE ALLE BASI DATI RELAZIONALI

Introduzione al DEV C++

Utilizzo del modulo per aprire le commesse in Ardis

CORSO DI PROGRAMMAZIONE

ARCHITETTURA DI UN DBMS

Utilizza i tipi di dati comuni a tutto il framework.net Accesso nativo ai tipi.net (C# è nato con.net) Concetti fondamentali:

Sistemi Mobili e Wireless Android - Dati persistenti: SQLite

ELABORAZIONE TESTI (WORD) seconda parte. Laboratorio di Informatica AA 2009/2010

Un esempio di if annidati

Lezione 5 Widget e Layout (XML)

Procedura di inserimento Nuovo prodotto

@2011 Politecnico di Torino 1

Analizzatori Lessicali con JLex. Giuseppe Morelli

Uso di metodi statici. Walter Didimo

Transcript:

Sistemi Mobili e Wireless Android - Risorse Stefano Burigat Dipartimento di Matematica e Informatica Università di Udine www.dimi.uniud.it/burigat stefano.burigat@uniud.it

Risorse in Android In Android, le risorse sono file esterni (non scritti in Java) accessibili da codice (o da altri file di risorsa) ed integrati nell'applicazione in fase di compilazione Android supporta risorse di tipo differente, inclusi file XML, PNG, JPG, etc. La maggior parte delle risorse utilizzate da Android serve a generare interfacce utente in modo dichiarativo al fine di separare l'ui dalla logica delle applicazioni e facilitarne la modifica/manutenzione e l'adattamento a dispositivi diversi Quando sono integrate nell'applicazione, le risorse vengono trasformate in formati efficienti dal punto di vista dell'immagazzinamento e del caricamento 2

Risorse in Android Il sistema di gestione delle risorse in Android tiene traccia di tutti gli asset diversi dal codice associati ad un'applicazione Per poter utilizzare una risorsa è necessario inserirla nella posizione corretta della struttura di directory di un progetto In particolare, le risorse vengono inserite nelle sottodirectory appropriate della directory /res dei progetti Gli strumenti di sviluppo Android creano automaticamente una classe wrapper chiamata R che può essere sfruttata per fare riferimento alle risorse nel codice Java 3

Tipi di risorse in Android 4

Risorse string in /values Risorse di tipo string rappresentano stringhe di testo e vengono definite tramite elementi <string> contenuti all'interno di un elemento <resources> Di solito, tali risorse sono inserite all'interno del file strings.xml (il nome del file non è importante, è anche possibile suddividere tali risorse su più file) 5

Risorse color in /values Risorse di tipo color rappresentano colori e vengono definite tramite elementi <color> contenuti all'interno di un elemento <resources> Di solito, tali risorse sono inserite all'interno del file colors.xml (il nome del file non è importante) I colori possono essere specificati tramite sintassi #RGB, #ARGB, #RRGGBB, #AARRGGBB 6

Risorse dimension in /values Risorse di tipo dimension rappresentano dimensioni e vengono definite tramite elementi <dimen> contenuti all'interno di un elemento <resources> Di solito, tali risorse sono inserite all'interno del file dimens.xml (il nome del file non è importante) 7

Risorse string array in /values Risorse di tipo string array rappresentano array di stringhe di testo e vengono definite tramite elementi <string-array> contenuti all'interno di un elemento <resources>. I singoli elementi dell'array vengono definiti tramite elementi <item> inseriti all'interno dell'elemento <string-array>. Di solito, tali risorse sono inserite all'interno del file arrays.xml (il nome del file non è importante) 8

Risorse style in /values Risorse di tipo style permettono di definire lo stile (i valori di un insieme di attributi) di una View, un'activity o un'intera applicazione. Uno stile viene definito mediante un element <style> all'interno dell'elemento <resources>. Di solito, tali risorse sono inserite all'interno del file styles.xml (il nome del file non è importante) 9

Altre risorse in /values Oltre alle risorse precedenti, nella cartella /values è possibile inserire anche risorse di tipo integer (valori interi, elemento <integer>) integer array (array di interi, elemento <integer-array> con <item> interni) bool (valori booleani true e false, elemento <bool>) typed array (array di altre risorse, elemento <array> con <item> interni) 10

Risorse color state list Risorse di tipo color state list permettono di definire quale colore applicare ad una View in base allo stato della View Ogni colore viene definito all'interno di un elemento <item> contenuto in un elemento <selector> Questo tipo di risorse viene inserito all'interno della cartella /color 11

Risorse drawable Risorse di tipo drawable permettono di definire risorse grafiche da visualizzare a schermo Il tipo più comune di risorse drawable sono file.png,.jpg, o.gif inseriti all'interno della cartella /drawable Esistono anche diversi tipi di drawable che vengono definiti mediante file.xml (sempre inseriti in /drawable) E' possibile ad esempio definire una risorsa di tipo drawable state list per modificare l'immagine associata ad una View a seconda dello stato della View (esattamente come viene fatto per color state list ma usando l'attributo android:drawable al posto di android:color all'interno degli elementi <item> 12

Risorse in R All'interno del file R.java, le singole risorse vengono identificate tramite un ID per alcune risorse (es: immagini o file di layout) l'id dipende dal path e dal nome dei relativi file (es: l'id della risorsa res/layout/main.xml è R.layout.main) risorse come le stringhe vengono inserite all'interno di un unico file (strings.xml) e identificate tramite l'attributo name (l'id diventa R.string.<valore di name >) alcune risorse (es: i singoli widget definiti all'interno di un file di layout) possono essere identificati esplicitamente tramite l'attributo android:id (l'id diventa R.id.<valore di android:id >) 13

Risorse in R 14

Risorse in R File R.java generato a partire dalle risorse presenti nella slide precedente 15

Accedere alle risorse Per accedere alle risorse di un'applicazione da codice Java si può utilizzare la classe Resources L'istanza di Resources associata ad un'applicazione si può ottenere attraverso il metodo Context.getResources() Resources contiene diversi metodi per recuperare risorse di tipo diverso a partire dal loro ID Diverse classi (es: i vari widget) contengono metodi che consentono di passare direttamente l'id di una risorsa (senza dover recuperare la risorsa tramite Resources) 16

Accedere alle risorse Accedere alle risorse da Java: file di layout stringhe arrays.xml immagini array Esempio di creazione adapter a partire da risorsa 17

Accedere alle risorse E' anche possibile fare riferimento a risorse all'interno di altre risorse 18

Risorse alternative Separare le risorse dal codice permette di creare risorse alternative per diverse configurazioni di dispositivo (schermo, lingua, etc.) Le risorse alternative vengono inserite in sottodirectory della directory /res, il cui nome è costituito dal nome di default di una specific directory di risorse (ad es., res/layout per i file di layout) a cui viene aggiuneto un suffisso che indica una configurazione (ad es., res/layout-land per i file di layout su schermo in modalità landscape) Le risorse corrette vengono utilizzate in modo automatico dal sistema a seconda della configurazione utilizzata 19

Risorse alternative Esempi di risorse alternative Screen orientation (port, land) Language and region (en, fr, it, en-rus, ) Night mode (night, not night) Screen pixel density (ldpi, mdpi, hdpi, ) Touchscreen type (notouch, stylus, finger) E' possibile specificare suffissi multipli per le stesse risorse (ma in un ordine specifico, vedi documentazione android) es. drawable-en-rus-land, drawable-port-hdpi Se ci sono risorse alternative, Android cerca il best match rispetto alla configurazione corrente. Se non c'è best match, vengono usate le risorse di default. 20