Risorse Android

Questo articolo presenta il concetto di risorse Android in Xamarin.Android e documenterà come usarle. Illustra come usare le risorse nell'applicazione Android per supportare la localizzazione delle applicazioni e più dispositivi, tra cui dimensioni e densità dello schermo variabili.

Panoramica

Un'applicazione Android è raramente solo codice sorgente. Ci sono spesso molti altri file che costituiscono un'applicazione: video, immagini, tipi di carattere e file audio solo per citarne alcuni. Collettivamente, questi file di codice non sorgente vengono definiti risorse e vengono compilati (insieme al codice sorgente) durante il processo di compilazione e inseriti in un pacchetto come APK per la distribuzione e l'installazione nei dispositivi:

Packaging diagram

Le risorse offrono diversi vantaggi per un'applicazione Android:

  • Separazione del codice: separa il codice sorgente da immagini, stringhe, menu, animazioni, colori e così via. Di conseguenza, tali risorse possono risultare notevolmente utili durante la localizzazione.

  • Destinazione di più dispositivi : offre un supporto più semplice di diverse configurazioni dei dispositivi senza modifiche al codice.

  • Controllo in fase di compilazione: le risorse sono statiche e compilate nell'applicazione. Ciò consente di controllare l'utilizzo delle risorse in fase di compilazione, quando sarà facile intercettare e correggere gli errori, anziché in fase di esecuzione quando è più difficile individuare e correggere i costi.

Quando viene avviato un nuovo progetto Xamarin.Android, viene creata una directory speciale denominata Resources, insieme ad alcune sottodirectory:

Resources folder and contents

Nell'immagine precedente le risorse dell'applicazione sono organizzate in base al tipo in queste sottodirectory: le immagini verranno inserite nella directory disegnabile , le visualizzazioni passano nella sottodirectory del layout e così via.

Esistono due modi per accedere a queste risorse in un'applicazione Xamarin.Android: a livello di codice e in modo dichiarativo in XML usando una sintassi XML speciale.

Queste risorse sono denominate Risorse predefinite e vengono usate da tutti i dispositivi, a meno che non venga specificata una corrispondenza più specifica. Inoltre, ogni tipo di risorsa può facoltativamente avere risorse alternative che Android può usare per specificare dispositivi specifici. Ad esempio, le risorse possono essere fornite per definire come destinazione le impostazioni locali dell'utente, le dimensioni dello schermo o se il dispositivo viene ruotato di 90 gradi da verticale a orizzontale e così via. In ognuno di questi casi, Android caricherà le risorse per l'uso da parte dell'applicazione senza alcuna ulteriore attività di scrittura del codice da parte dello sviluppatore.

Le risorse alternative vengono specificate aggiungendo una stringa breve, denominata qualificatore, alla fine della directory che contiene un determinato tipo di risorse.

Ad esempio, resources/drawable-de specifica le immagini per i dispositivi impostati su impostazioni locali tedesche, mentre le risorse/drawable-fr contengono immagini per i dispositivi impostati su impostazioni locali francesi. Un esempio di fornitura di risorse alternative può essere visualizzato nell'immagine seguente in cui viene eseguita la stessa applicazione con solo le impostazioni locali del dispositivo che cambia:

Example screens for different locales

Questo articolo esaminerà in modo completo l'uso delle risorse e illustra gli argomenti seguenti:

  • Nozioni di base sulle risorse Android: uso di risorse predefinite a livello di codice e dichiarativo, aggiungendo tipi di risorse come immagini e tipi di carattere a un'applicazione.

  • Configurazioni specifiche del dispositivo: supporto delle diverse risoluzioni e densità dello schermo in un'applicazione.

  • Localizzazione : è possibile usare le risorse per supportare le diverse aree che possono essere usate da un'applicazione.