Android Resources Organizing & Accessing

Det er mange flere elementer som du bruker til å bygge en god Android-applikasjon. Bortsett fra koding for søknaden, kan du ta vare på ulike andre ressurser
like statisk innhold som koden din bruker, for eksempel punktgrafikk, farger, layout definisjoner, brukergrensesnitt strenger, animasjon instruksjoner og mer. Disse ressursene er alltid hevdet seg i forskjellige underkataloger under res /katalog av prosjektet.

Denne opplæringen vil forklare deg hvordan du kan organisere programressurser, angi alternative ressurser og tilgang til dem i programmene dine.

Organiser Resources i eclipse

Du bør plassere hver type ressurs i en bestemt sub katalog av prosjektets res /katalog. For eksempel, her filen hierarkiet for et enkelt prosjekt:
mittprosjekt /src /MyActivity.java res /
teikne /icon.png layout /activity_main.xml info.xml verdier /strings.xml

res /katalog inneholder alle ressursene i ulike underkataloger. Her har vi et bilde ressurs, to layout ressurser, og en streng ressurs fil. Tabellen nedenfor gir en detaljert om ressurs kataloger støttes inne prosjekt res /katalog.

Organiser ressurs i Android Studio
mittprosjekt /src /main /java /MyActivity.java res /
teikne /icon.png layout /activity_main.xml info.xml verdier /strings.xml


DirectoryResource Typeanim /XML filer som definerer eiendoms animasjoner. De lagres i res /anim /mappe og åpnes fra R.anim
class.color /XML filer som definerer en tilstand liste over farger. De lagres i res /farge /og åpnes fra R.color
class.drawable /Bildefiler som PNG, JPG, GIF eller XML-filer som er flettet sammen til punktgrafikk, statlige lister, former, animasjon teikne. De lagres i res /teikne /og åpnes fra R.drawable
class.layout /XML filer som definerer et brukergrensesnitt layout. De lagres i res /layout /og åpnes fra R.layout
class.menu/XML filer som definerer programmenyer, for eksempel en valgmeny Context Menu, eller undermenyen. De lagres i res /meny /og tilgjengelig fra R.menu
class.raw /vilkårlige filer for å lagre i sin rå form. Du må ringe Resources.openRawResource ()
med ressurs-ID, som er R.raw.filename
å åpne slike rå files.values ​​/XML filer som inneholder enkle verdier, for eksempel strenger, heltall og farger. For eksempel, her er noen filnavnkonvensjoner for ressurser du kan lage i denne katalogen −

arrays.xml for ressurs arrays, og er tilgjengelig fra R.array
klasse
<. br>

integers.xml for ressurs heltall, og er tilgjengelig fra R.integer
klasse.

bools.xml for ressurs boolean, og tilgjengelig fra R.bool
klasse.

colors.xml for fargeverdier, og er tilgjengelig fra R.color
klasse.


dimens.xml for dimensjonsverdier, og er tilgjengelig fra R.dimen
klasse.

strings.xml for strengverdier og tilgjengelig fra R.string
klasse.

styles.xml for stiler, og er tilgjengelig fra R.style
klasse.

xml /Vilkår XML-filer som kan leses under kjøring ved å ringe Resources.getXML ()
. Du kan lagre ulike konfigurasjonsfiler her som vil bli brukt under kjøring.
Alternative Resources

Din søknad bør gi alternative ressurser til å støtte bestemte enhetskonfigurasjoner. For eksempel bør du inkludere alternative strekkbare ressurser (i.e.images) for ulike skjermoppløsning og alternative streng ressurser for ulike språk. Under kjøring, oppdager Android enhetens gjeldende konfigurasjon og laster de nødvendige ressurser for søknaden

Hvis du vil angi konfigurasjonsspesifikke alternativer for et sett av ressurser, følg de neste trinnene og minus;.

  • Opprett en ny katalog i res /navngitt i form < resources_name > - < config_qualifier >
    . Her resources_name
    blir noen av de ressurser som er nevnt i ovenstående tabell, som layout, strekkbare etc. kvalifiserings
    vil spesifisere en individuell konfigurasjon hvor disse midler skal anvendes. Du kan sjekke offisiell dokumentasjon for en fullstendig liste over kvalifiseringskamper for annen type ressurser.

  • Lagre de respektive alternative ressurser i denne nye katalogen. Ressursfilene må hete akkurat det samme som standardressursfiler som vist i nedenstående eksempel, men disse filene vil ha innhold som er spesifikk for den alternative. For eksempel om bildefilen navn vil være det samme, men for skjerm med høy oppløsning, vil oppløsningen være høy.

    Nedenfor er et eksempel som spesifiserer bilder for en standard skjerm og alternative bilder for høy oppløsning skjermen.
    mittprosjekt /src /main /java /MyActivity.java res /
    teikne /icon.png background.png teikne-hdpi /
    icon.png background.png layout /activity_main.xml info.xml verdier /strings.xml

    Nedenfor er et annet eksempel som spesifiserer oppsettet for et standardspråk og alternative oppsett for arabisk språk.
    mittprosjekt /src /main /java /MyActivity.java res /
    teikne /icon.png background.png teikne-hdpi /
    icon.png background.png layout /activity_main.xml info.xml layout-ar /
    main.xml verdier /strings.xml
    Tilgang Resources

    Under programutvikling vil du trenger tilgang til definerte ressurser enten i koden din, eller i layouten XML-filer. Følgende avsnitt forklarer hvordan du får tilgang til ressurser i begge scenariene og minus;

    Tilgang Resources i Kode

    Når Android søknaden er utarbeidet, en R
    klasse blir generert, som inneholder ressurs IDer for alle tilgjengelige ressurser i res /katalog. Du kan bruke R klassen tilgang til denne ressursen ved hjelp av sub-katalog og ressursnavnet eller direkte ressurs ID.

    Eksempel

    For å få tilgang res /teikne /myimage.png Hotell og angi en Imageview vil du bruke følgende kode:
    Imageview bildeVis = (Imageview) findViewById (R.id.myimageview); imageView.setImageResource (R.drawable.myimage);

    Her første linje av koden gjøre bruk av R.id.myimageview
    å få Imageview definert med id myimageview
    i et oppsett fil. Andre linje med kode gjør bruk av R.drawable.myimage
    å få et bilde med navn myimage
    tilgjengelig i teikneunderkatalog under /res
    .

    Eksempel

    Tenk neste eksempel der res /verdier /strings.xml
    har følgende definisjon:?
    < xml version = "1.0" encoding = "utf-8" ? > < resources > < string name = "hallo" > Hello, World < /string > < /ressurser >

    Nå kan du stille inn tekst på en TextView objekt med ID msg bruker en ressurs ID som følger:
    TextView msgTextView = (TextView) findViewById (R.id.msg); msgTextView.setText (R.string.hello);
    Eksempel

    Vurdere en layout res /layout /activity_main.xml
    med følgende definisjon:??

    < xml version = "1.0" encoding = "UTF-8" > < LinearLayout xmlns: android = "http://schemas.android.com/apk/res /android "android: layout_width =" fill_parent "android: layout_height =" fill_parent "android: orientering =" vertikal "> < TextView android: id = "+ id /tekst" android: layout_width = "wrap_content" android: layout_height = "wrap_content" android: text = "Hei, jeg er en TextView" /> < Button android: id = "+ id /knapp" android: layout_width = "wrap_content" android: layout_height = "wrap_content" android: text = "Hei, jeg er en knapp" /> < /LinearLayout >

    Denne applikasjonen kode vil laste dette oppsettet for en aktivitet, i onCreate () metode som følger −
    public void onCreate (Bundle savedInstanceState) {super.onCreate (savedInstanceState); setContentView (R.layout.main_activity);}
    Tilgang Resources i XML

    Tenk følgende ressurs XML res /verdier /strings.xml
    fil som inneholder en farge ressurs og en streng ressurs −
    <? xml version = "1.0" encoding = "utf-8" >? < resources > < farge name = "opaque_red" > # f00 < /farge > < string name = "hallo" > Hei < /string > < /ressurser >

    Nå kan du bruke disse ressursene i følgende layout fil for å angi tekstfarge og tekststreng som følger:
    ? < xml version = "1.0" encoding = "UTF-8" > < EditText xmlns:? android = "http://schemas.android.com/apk/res/android" android: layout_width = "fill_parent" android: layout_height = "fill_parent" android: textcolor = "@ farge /opaque_red"
    android: text = "@ string /hallo" />

    Nå hvis du vil gå gjennom forrige kapittel nok en gang hvor jeg har forklart Hello World!
    eksempel, og jeg er sikker på at du vil få bedre forståelse på alle begrepene forklart i dette kapittelet. Så jeg anbefaler å sjekke forrige kapittel for fungerende eksempel vist hvordan jeg har brukt ulike ressurser på grunnleggende nivå. Anmeldelser