Android ռեսուրսներ և միջազգայնացում

հիմնական-ուղեցույց-ծրագրավորում-android-5

The ռեսուրսներ դրանք Android հավելվածի հիմնարար մասն են: Հնարավորության դեպքում մենք դրանք կառանձնացնենք ծածկագրիցԱյսպիսով մենք կհասնենք ավելի պահպանելի կիրառման: Եթե ​​դրանք լավ կազմակերպենք, Android- ը նաև հոգ կտանի մեզ համար ճիշտ տարր ընտրելու մասին ՝ կախված կազմաձևից ՝ սովորաբար էկրանի չափից և օգտագործողի լեզվից:

Հիմնական ռեսուրսներ. Պատկերներ և տեքստեր

The տեքստեր դրանք միշտ պետք է բաժանվեն ծածկագրից: Եթե ​​մենք դա չանենք, մեզ համար ավելի շատ կարժենա ծածկագիրը պահպանելը. Մենք ստիպված կլինեինք վերանայել բոլոր դեպքերը, և ամեն անգամ կարող ենք մոռանալ որոշ դեպքեր, երբ ստիպված կլինենք փոփոխություններ կատարել: Ամենավատն այն է, որ այդ դեպքում մեր դիմումը չի կարող միջազգայնացվել:

Հետեւաբար, խորհուրդ չի տրվում տեքստեր տեղադրել ծածկագրի մեջ: Միակ բացառությունը կարող է լինել վերջնական օգտագործողի համար չնախատեսված հաղորդագրությունները, ինչպիսիք են մխիթարիչի ելքային հաղորդագրությունները: Բայց ընդհանուր առմամբ, մեր բոլոր տեքստերը պետք է գնան ա ռեսուրսների առանձին ֆայլ, Մենք կկանչենք այդ ֆայլը տողեր. xml, և ծրագրի շրջանակներում ձեր ամբողջ ուղին կլինի res / արժեքները / տողերը. xml.

Strings.xml ֆայլը կունենա այսպիսի բովանդակություն.

<ռեսուրսներ>>լարային անուն = "լարային_1">տեքստ_1
    <լարային անուն = "լարային_2">տեքստ_2

Այժմ, մեր ծածկագրում մենք կարող ենք հետ վերցնել այս տեքստերը այնպիսի նախադասություններով, ինչպիսիք են getResources (). GetString (R.string.string_1), կամ մեր դասավորության մեջ, ինչպիսին է @ string / string_1: Այսպիսով մենք հասանք մեր ուզածին. Ծածկագիրը դառնում է անկախ ռեսուրս:

Մյուս ռեսուրսը, որը մենք պարբերաբար կօգտագործենք, դա կլինի պատկերներ,, Forրագրի շրջանակներում մենք ունենք մի քանի պանակ, ինչպիսիք են res / գծագրվող, res / գծագրվող-hdpi, res / գծագրվող-xhdpi և այլն:

«Նկարելի» -ին հաջորդող ածանցները վերաբերում են էկրանի խտությունը, Յուրաքանչյուր Android սարք ունի էկրանի վրա պիքսելային խտություն, որը խմբավորված է մի քանի խմբերի.

  • ldpi (փոքր, x0,75)
  • mdpi (միջին x1)
  • hdpi (մեծ x1,5)
  • xhdpi (չափազանց մեծ x2)
  • xxhdpi (լրացուցիչ մեծ x3)

Այս եղանակով կարելի է հարմարվել նույն պատկերին էկրանի տարբեր խտություններ առանց դեֆորմացիաների հայտնվելու: Խորհուրդ է տրվում յուրաքանչյուր թղթապանակում ունենալ պատկերի պատճեն ՝ հարգելով համամասնությունները (MDP- ն հիմք ընդունելով և հավասար է 1 – ի), չնայած կարող եք նաև օգտագործել դրանցից միայն մեկը, ապա Android- ը ավտոմատ կերպով կանի փրկարարական գործողություն այլ բանաձեւեր: Այնուամենայնիվ, համակարգը խորհուրդ է տալիս ծածկել բոլոր պանակները ՝ համակարգը այս լրացուցիչ ջանքերը խնայելու համար:

«Նկարվող» պանակը չի պարունակի պատկերներ, մենք այն կօգտագործենք միայն առաջադեմ տարրերի xml սահմանումների համար, ինչպիսիք են ընտրողները:

Այլ ռեսուրսներ

Resրագրի / res գրացուցակում կարող են օգտագործվել շատ ավելի շատ ռեսուրսներ: Ձայներ, գույների սահմանումներ, որոնք օգտագործվում են տեքստերի նման ձևով, մեր կիրառման չափսերը, հայացքների ոճերը և շատ ավելին:

Նրանց համար, ովքեր հետաքրքրված են այս ռեսուրսների մասին ավելին իմանալով, կարող եք խորհրդակցել Android- ի պաշտոնական փաստաթղթերը.

Android- ի միջազգայնացում

Պատկերներով, որոնց մենք արդեն ներածություն ենք արել այլընտրանքային ռեսուրսների համակարգ Android- ումԵթե ​​ունենք xhdpi խտության էկրան (օրինակ, Galaxy S3- ի), Android- ը կգերադասի նկարվող-xhdpi գրացուցակում պատկերները մյուսներից:

Այս համակարգը կարող է օգտագործվել տարբերելու համար շատ այլ կազմաձևեր. Նորմալ կամ լանդշաֆտային կողմնորոշում, վարորդական կամ նորմալ ռեժիմ, գիշերային կամ նորմալ ռեժիմ ... Կրկին, խորհուրդ ենք տալիս Android- ի պաշտոնական փաստաթղթերը իմանալ բոլոր մանրամասները: Մենք արդեն խոսել ենք այն մասին, թե ինչպես պատկերներ տրամադրել ըստ էկրանի խտության, այժմ մենք կկենտրոնանանք մեր կիրառման մեկ այլ շատ կարևոր օգտագործման ` միջազգայնացում.

Եթե ​​ուզում ենք, որ մեր տեքստերը հասանելի լինեն մի քանի լեզուներով, ապա strings.xml ֆայլի յուրաքանչյուր օրինակի համար ստիպված կլինենք ավելացնել այլ պանակ: Այսպիսով, եթե մենք ուզում ենք մեր դիմումը տեղափոխել անգլերեն և ֆրանսերեն, մենք կունենանք այս երեք գրացուցակները.

  • res / արժեքներ (լռելյայն արժեքներ)
  • res / արժեքներ- en
  • res / արժեքներ-ֆր

Այսինքն, թղթապանակին ավելացվում է որոշակի լեզվի ISO կոդով ածանց, և մենք թղթապանակում կթողնենք լռելյայն տեքստերը առանց ածանցի: Վերջինս շատ կարևոր է, քանի որ բացի էկրանի խտությունից, մենք միշտ պետք է տանք a լռելյայն արժեք բոլոր ռեսուրսների համար: Երբ մենք ցանկացած տիպի ռեսուրս ենք պահանջում, Android- ը կփնտրի մեկը, որը լավագույնս համապատասխանում է, և եթե այն չի գտնում, մենք կարող ենք գտնել ծրագրի անսպասելի փակումներ: Այդ պատճառով միշտ պետք է միշտ լինի մի լեզու, որը մենք ընտրում ենք լռելյայն, և որ բոլոր ռեսուրսներն ունեն իրենց լռելյայն արժեքը:

Այս եղանակով մենք կրկին ստանում ենք մեր ուզածը. Բացի տեքստերը կոդից առանձնացնելուց, այժմ կարող ենք ունենալ նաև այն դիմում տարբեր լեզուներով առանց ընդհանրապես դիպչելու մեր կոդին:

Այլընտրանքային ռեսուրսների առաջացման համակարգը, իհարկե, համատեղելի է: Հետևելով այն հղմանը, որը մենք նախկինում նշել ենք, կտեսնենք, թե ինչ հերթականությամբ պետք է գնան վերջածանցները: Եթե ​​մենք հետևենք այն պարզ օրինակին, որը մենք մատնանշում ենք այս ձեռնարկում, ապա մենք կարող ենք մտածել ունենալ պատկերներ, որոնք միայն անգլերեն տարբերակի համար են: Դա ձեռք է բերվում res / drawable-en-xhdpi պանակ ստեղծելու կամ մեզ համար անհրաժեշտ էկրանի այլ խտության միջոցով: Այդ կերպ մենք կարող ենք մեծ ռեսուրսներ տրամադրել և այլևս չմտահոգվել ճիշտը ընտրելու հարցում: Իհարկե. Առանց մոռանալու, որ էկրանի խտությունը միակ փոփոխիչն է, որը լռելյայն արժեքների կարիք չունի: Մնացած բոլորին անհրաժեշտ է լռելյայն արժեք, կամ մենք վտանգում ենք, որ ծրագիրը փչանա:


Հոդվածի բովանդակությունը հավատարիմ է մեր սկզբունքներին խմբագրական էթիկա, Սխալի մասին հաղորդելու համար կտտացրեք այստեղ.

Եղիր առաջին մեկնաբանողը

Թողեք ձեր մեկնաբանությունը

Ձեր էլ. Փոստի հասցեն չի հրապարակվելու: Պահանջվող դաշտերը նշված են *

*

*

  1. Տվյալների համար պատասխանատու. Actualidad բլոգ
  2. Տվյալների նպատակը. Վերահսկել SPAM, մեկնաբանությունների կառավարում:
  3. Օրինականություն. Ձեր համաձայնությունը
  4. Տվյալների հաղորդագրություն. Տվյալները չեն փոխանցվի երրորդ անձանց, բացառությամբ իրավական պարտավորության:
  5. Տվյալների պահպանում. Տվյալների շտեմարան, որը հյուրընկալվում է Occentus Networks (EU) - ում
  6. Իրավունքներ. Timeանկացած պահի կարող եք սահմանափակել, վերականգնել և ջնջել ձեր տեղեկատվությունը: