Riżorsi Android u internazzjonalizzazzjoni

gwida-bażika-programmazzjoni-android-5

Il- riżorsi huma parti fundamentali ta 'applikazzjoni Android. Kull meta jkun possibbli aħna nisseparawhom mill-kodiċiB'dan il-mod se nilħqu applikazzjoni li tista 'tinżamm aktar. Jekk norganizzawhom sew, Android se jieħu ħsieb ukoll li jagħżel l-element it-tajjeb għalina skont il-konfigurazzjoni - tipikament, id-daqs tal-iskrin u l-lingwa tal-utent.

Riżorsi bażiċi: stampi u testi

Il- testi għandhom dejjem ikunu separati mill-kodiċi. Jekk ma nagħmlux hekk, se jiswina aktar biex inżommu l-kodiċi: ikollna nirrevedu l-okkorrenzi kollha u nistgħu ninsew xi wħud kull darba li jkollna nagħmlu bidliet. L-agħar minn kollox huwa li allura l-applikazzjoni tagħna ma tkunx internazzjonalizzabbli.

Għalhekk, mhux irrakkomandat li tpoġġi testi fil-kodiċi. L-unika eċċezzjoni tista 'tkun messaġġi mhux maħsuba għall-utent aħħari, bħal messaġġi tal-output tal-console. Iżda ġeneralment, it-testi kollha tagħna jkollhom imorru għal fajl tar-riżorsi separat. Aħna nsejħu dak il-fajl kordi.xml, u t-triq sħiħa tiegħek fi ħdan il-proġett tkun res / values ​​/ strings.xml.

Fajl strings.xml ikollu kontenut simili għal dan:

<riżorsi>sekwenza isem = "spag_1">test_1
    <sekwenza isem = "spag_2">test_2

Issa, fil-kodiċi tagħna nistgħu nieħdu dawn it-testi b'sentenzi bħal getResources (). GetString (R.string.string_1), jew fit-taqsimiet tagħna bħal @ string / string_1. B'dan il-mod ksibna dak li ridna: il-kodiċi jsir indipendenti mir-riżorsi.

Ir-riżorsa l-oħra li se nużaw regolarment se tkun stampi. Għal dan għandna diversi folders fi ħdan il-proġett, bħal res / drawable, res / drawable-hdpi, res / drawable-xhdpi, u simili.

Is - suffissi li jsegwu "jinġibdu" jirreferu għall - densità tal-iskrin. Kull apparat Android għandu densità ta 'pixel għal kull skrin li huwa miġbur f'diversi gruppi:

  • ldpi (żgħir, x0,75)
  • mdpi (medja x1)
  • hdpi (kbir x1,5)
  • xhdpi (extra kbir x2)
  • xxhdpi (extra extra large x3)

B'dan il-mod, l-istess stampa tista 'tiġi adattata għaliha densitajiet ta 'skrin differenti mingħajr ma jidhru deformitajiet. Huwa rrakkomandat li f'kull folder ikun hemm kopja tal-immaġni, li tirrispetta l-proporzjonijiet (tieħu mdpi bħala l-bażi u ugwali għal 1), għalkemm tista 'tuża wkoll waħda minnhom biss u allura Android awtomatikament jagħmel operazzjoni ta' skalar mill-ġdid riżoluzzjonijiet oħra. Madankollu, huwa rrakkomandat li tkopri l-folders kollha biex issalva s-sistema dan l-isforz żejjed.

Il-folder "li jinġibed" mhux se jkun fih immaġini, aħna nużawh biss għal definizzjonijiet xml ta 'elementi avvanzati, bħal seletturi.

Riżorsi oħra

Fid-direttorju / res tal-proġett jistgħu jmorru ħafna iktar riżorsi. Ħsejjes, definizzjonijiet tal-kulur li jistgħu jintużaw b'mod simili għat-testi, dimensjonijiet għall-applikazzjoni tagħna, stili għall-fehmiet tagħna, u ħafna aktar.

Għal dawk li huma interessati li jitgħallmu aktar dwar dawn ir-riżorsi, tista 'tikkonsulta id-dokumentazzjoni uffiċjali ta ’Android.

Internazzjonalizzazzjoni fuq Android

Bl-istampi li diġà għamilna introduzzjoni għalihom sistema ta 'riżorsi alternattivi fuq Android: Jekk għandna skrin ta 'densità xhdpi (dak ta' Galaxy S3, per eżempju), Android jippreferi l-immaġini fid-direttorju li jinġibed-xhdpi fuq l-oħrajn.

Din is-sistema tista 'tintuża biex tiddistingwi ħafna konfigurazzjonijiet oħra: orjentazzjoni normali jew tal-pajsaġġ, modalità tas-sewqan jew normali, modalità bil-lejl jew normali ... Għal darb'oħra, nirrakkomandaw id-dokumentazzjoni uffiċjali ta ’Android li tkun taf id-dettalji kollha. Aħna diġà tkellimna dwar kif nipprovdu stampi skont id-densità tal-iskrin, issa se niffokaw fuq użu ieħor importanti ħafna għall-applikazzjoni tagħna: internazzjonalizzazzjoni.

Jekk irridu li t-testi tagħna jkunu disponibbli f'diversi lingwi, ikollna nżidu folder differenti għal kull kopja tal-fajl strings.xml. Għalhekk, jekk irridu nġorru l-applikazzjoni tagħna għall-Ingliż u l-Franċiż, ikollna dawn it-tliet direttorji:

  • res / valuri (valuri awtomatiċi)
  • res / valuri-en
  • res / valuri-fr

Jiġifieri, suffiss bil-kodiċi ISO tal-lingwa speċifika huwa miżjud mal-folder, u aħna nħallu t-testi default fil-folder mingħajr suffiss. Dan ta 'l-aħħar huwa importanti ħafna, għax ħlief bid-densitajiet ta' l-iskrin, aħna dejjem irridu nagħtu a Valur awtomatiku għar-riżorsi kollha. Meta neħtieġu riżorsa ta 'kwalunkwe tip, Android tfittex dik li taqbel l-aħjar, u jekk ma ssibx, nistgħu nsibu għeluq mhux mistenni tal-applikazzjoni. Huwa għalhekk li dejjem għandu jkun hemm lingwa li aħna nagħżlu awtomatikament, u li r-riżorsi kollha għandhom il-valur default tagħhom.

B'dan il-mod, nerġgħu niksbu dak li ridna: minbarra li nisseparaw it-testi mill-kodiċi, issa nistgħu jkollna applikazzjoni f'lingwi differenti mingħajr ma tmiss il-kodiċi tagħna xejn.

Is-sistema li tiġġenera riżorsi alternattivi hija, naturalment, kombinabbli. Wara l-link li indikajna qabel, naraw f'liema ordni għandhom imorru s-suffissi. Jekk insegwu l-eżempju sempliċi li qed nindikaw f'dan it-tutorja, nistgħu naħsbu li jkollna immaġini li huma biss għall-verżjoni Ingliża. Dan jinkiseb billi jinħoloq folder res / drawable-en-xhdpi, jew kwalunkwe densità oħra ta 'skrin li għandna bżonn. B'dan il-mod nistgħu nipprovdu varjetà wiesgħa ta 'riżorsi u m'għandniex għalfejn ninkwetaw dwar l-għażla tat-tajba. Naturalment: mingħajr ma ninsew li d-densità tal-iskrin hija l-uniku modifikatur li m'għandux bżonn valuri awtomatiċi. L-oħrajn kollha għandhom bżonn valur default jew nirriskjaw li l-applikazzjoni tfalli.


Il-kontenut tal-artikolu jaderixxi mal-prinċipji tagħna ta ' etika editorjali. Biex tirrapporta żball ikklikkja hawn.

Kun l-ewwel li tikkummenta

Ħalli l-kumment tiegħek

Your email address mhux se jkun ippubblikat.

*

*

  1. Responsabbli għad-dejta: Actualidad Blog
  2. Għan tad-dejta: Kontroll SPAM, ġestjoni tal-kummenti.
  3. Leġittimazzjoni: Il-kunsens tiegħek
  4. Komunikazzjoni tad-dejta: Id-dejta ma tiġix ikkomunikata lil partijiet terzi ħlief b'obbligu legali.
  5. Ħażna tad-dejta: Bażi tad-dejta ospitata minn Occentus Networks (UE)
  6. Drittijiet: Fi kwalunkwe ħin tista 'tillimita, tirkupra u tħassar l-informazzjoni tiegħek.