Android-ressurstyper: fra basis til avanceret

Alt andet end det enkleste af Android-apps bruger ressourcer - tekst, størrelser, billeder, layout osv. Android App Resources-systemet giver dig mulighed for at opbygge fleksible og genanvendelige komponenter til din app og forenkler jobbet med at håndtere forskellige enhedskonfigurationer.

I et Android-projekt gemmes ressourcer under / res. Undermapper kan oprettes til forskellige ressurstyper og konfigurationer (inklusive versioner til forskellige sprog og lokaliteter). Men ud over de grundlæggende strenge og layout er mange tutorials ikke dybe ind i de mere komplekse ressourcetyper. Lad os se på nogle af de typer ressourcer, som Android kan håndtere.

Grundlæggende Android-ressourcetyper

Strengressourcer gemmer en streng tekst. Du kan få adgang til en strengressource fra kode såvel som XML-layouts, så ved at flytte strenge til en ressourcefil kan du styre al tekst på et sted. Brug af strengressourcer til al tekst, som brugere vil se, betragtes som en bedste praksis, især når en app skal lokaliseres. De fleste apps har også layout . Dette er XML-beskrivelsen af ​​det grafiske layout for en visning, et fragment eller en aktivitet eller et stykke af en af ​​dem. Layoutressourcer er kraftfulde værktøjer til at håndtere flere skærmkonfigurationer, såsom tablet- og telefonskærmstørrelser. Alle apps har mindst et sæt trækbare ressourcer: start-ikonet. Det tegnbare ressourcekatalog kan ikke kun indeholde billeder, men også vælgere og andre XML UI-komponenter. Menuer er en anden almindelig ressourcetype. Menuer udfylder en hel indstillingsmenu, en kontekstmenu eller en undermenu direkte fra ressourcerne; dette giver mulighed for at dele en menu mellem forskellige aktiviteter og gemmer behovet for at oprette hvert menupunkt i kode. Farver er en navngivet farveværdi med eller uden en alfakomponent. Definition af farver kan gøre layout og andre ressourcer meget lettere at læse for dem af os, der ikke har hex-værdierne for farver gemt.

Ovenstående ressourcer er ofte brugt, så du har sandsynligvis stødt på dem i prøveprojekter og tutorials, selvom du ikke har brugt dem i dine projekter endnu. Der er dog meget mere til ressource-systemet.

Mere avancerede ressourcetyper

Når du først har alle de grundlæggende ressourcetyper i din app, ønsker du måske at gå lidt dybere.

Lad os starte med dimensioner . Dette kraftfulde værktøj giver dig mulighed for at bruge den samme layoutfil til flere tætheder eller skærmstørrelser, hvilket kun kræver dimensionerne XML-fil for at være unik for hver størrelse. For eksempel styres denne linje i en layoutfil af dimensionskilden:
 android: layout_height = "@ dimen / widget_height" 

I dette tilfælde kunne dimensionerne XML specificere:

"widget_height"> 60 dp Arrays er også meget nyttige. Android håndterer heltalearrays og indtastede arrays . Førstnævnte indeholder heltal, mens indtastede arrays giver dig mulighed for at oprette arrays af enhver anden type ressource, som du definerer, f.eks. Tegninger. Arrays kan være en meget praktisk måde at definere et sæt data, der let kan skiftes (f.eks. Udskiftning af testdata med produktionsdata eller aktivering af betalt indhold). Her er et eksempel.
 "array1"> 

1

2

3

ID'et for et heltalarray er også et heltal, så du kan oprette arrays af arrays efter behov.
 "array2"> 

@ Matrix / matrix1

Endnu mere kraft og fleksibilitet

Som infomercials siger, "men vent, der er mere!" Du kan:

  • Opret genanvendelige stilarter til anvendelse på en visning eller en aktivitet
  • Opret hele temaer til en app
  • Gem en liste over farvetilstande for en vælger
  • Opbevar primitive typer som heltal, bool og ID
  • Definer animationer

Når du går ud over det, kan du oprette dine egne typer værdier samt oprette referencer til andre ressourcer. Dette tillader en hel del fleksibilitet og kraft, men det kan også kræve en hel del arbejde at finde ud af - det er delvis fordi de mest avancerede funktioner ikke synes at have meget dokumentation og kræver sigtning gennem eksempelkoden.

Brug ressourcerne effektivt

Android vælger automatisk det relevante ressourcekatalog baseret på orientering, skærmstørrelse, version af Android og andre faktorer. Hvis du sørger for, at dine ressourcer er på passende steder, vil det gøre dit liv lettere. Du skal bruge den indbyggede betingede inkludering - ikke kæmp for det!

Derudover betyder ressourcelagdelingssystemet i Android, at enhver ressource, der omdefineres i et barneprojekt, skjuler værdien i et forældrebiblioteksprojekt. Dette kan være en praktisk måde at tilsidesætte strenge, dimensioner eller layoutfiler i underordnede projekter.

Med alle disse tilgængelige ressourcer skal du gøre din Android-app lettere at vedligeholde og mere lydhøre over for forskellige enhedskonfigurationer.

Tilføjelse af Android-ressourcer i Eclipse

© Copyright 2021 | pepebotifarra.com