Телефонуйте » (+38) 096 227 41 41

Завжди є хорошою практикою витягти рядки інтерфейсу користувача з коду додатка і тримати їх в зовнішньому файлі. Android- це легко робить за допомогою каталогу ресурсів в кожному проекті Android. Якщо ви створили свій проект за допомогою Android SDK Tools (читайте Створюємо свій перший додаток для Android), то інструменти створили каталог res/ на верхньому рівні проекту.

У цьому каталозі res/ є підкаталоги для різних типів ресурсів. В тому числі, кілька таких файлів за замовчуванням, як res/values/strings.xml, які зберігають ваші рядкові значення.

Створення локалізованих каталогів і рядкових файлів

Щоб додати підтримку інших мов, створіть додаткові каталоги values всередині res/, які включають дефіс і код ISO мови в кінці імені каталогу. Наприклад, values-es/ є каталог, що містить прості ресурси для локалей з кодом мови "es". Android-завантажує відповідні ресурси згідно з налаштуваннями локалі пристрою під час виконання. Для отримання додаткової інформації див. Providing Alternative Resources.
Після того, як ви вирішили, які мови будете підтримувати, створіть підкаталоги ресурсів і файли рядкових ресурсів. Наприклад:
MyProject/
    res/
       values/
           strings.xml
       values-es/
           strings.xml
       values-fr/
           strings.xml

Додайте рядкові значення для кожного регіону у відповідному файлі.
Система Android під час виконання використовує відповідний набір рядкових ресурсів, заснованих на локалі, встановленій для пристрою користувача в даний час.
Для прикладу, далі наведені деякі різні файли рядкових ресурсів для різних мов.
Англійська (локаль за замовчуванням), /values/strings.xml:
<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string name="title">My Application</string>
    <string name="hello_world">Hello World!</string>
</resources>

Іспанська, /values-es/strings.xml:
<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string name="title">Mi Aplicación</string>
    <string name="hello_world">Hola Mundo!</string>
</resources>

Французька, /values-fr/strings.xml:
<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string name="title">Mon Application</string>
    <string name="hello_world">Bonjour le monde !</string>
</resources>

Українська, /values-ua/strings.xml:
<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string name="title">Мій додаток</string>
    <string name="hello_world">Привіт світ !</string>
</resources>

Примітка: Ви можете використовувати локалі відбірково (або будь-якої відбіркової конфігурації) на будь-якому типі ресурсів, наприклад, якщо хочете забезпечити локалізовані версії растрових зображень. Для отримання додаткової інформації див. Localization.

Використання рядкових ресурсів

Ви можете посилатися на свої рядкові ресурси у своєму вихідному коді та інших XML-файлах за допомогою імені ресурсу, визначеного елементами <string> атрибуту name.
У вихідному коді можете звернутися до рядкового ресурсу з синтаксисом R.string.<string_name>. Є безліч способів, як отримати рядковий ресурс цим шляхом.
Наприклад:
// Get a string resource from your app's Resources
String hello = getResources().getString(R.string.hello_world);

// Or supply a string resource to a method that requires a string
TextView textView = new TextView(this);
textView.setText(R.string.hello_world);

В інших файлах XML можете звернутися до рядкового ресурсу з синтаксисом @string/<string_name> щоразу, коли атрибут XML приймає рядкове значення.
Наприклад:
<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@string/hello_world" />

(Джерело: developer.android.com)

Новини

  • Модуль SMARC запускає Android або Linux на Snapdragon 820
    Модуль SMARC запускає Android або Linux на Snapdragon 820

    SMART 2.0 "Snapdragon 820 SOM" iWave має 3 Гб LPDDR4, 32 Гб eMMC, Wi-Fi та Bluetooth, а також вхідні/вихідні виводи, включаючи GbE, HDMI 2.0, MIPI-CSI, USB 3.0 та PCIe. Комп'ютер розміром 82x50 мм працює на ОС Android Snailbone або вище, з наступною підтримкою Linux. Snapdragon 820 об'єднує чотири 14-нм Cortex з технологією FinFET - два на частоті 2,15 ГГц, а два з 1,6 ГГц, які намагаються імітувати високоякісні Cortex-A72. Крім того, SoC оснащений 624 МГц Adreno 530 GPU, Hexagon 680 DSP і 14-розрядним ISP для Spectra. Snapdragon 820 SOM підтримує кодування H.265 4K@60 та кодування 4K@30.

    in Новини

Записатися на курс