LINUX.ORG.RU

Сообщения ddmytrenko

 

Обновление безопасности платформы JetBrains

Новости — Безопасность
Группа Безопасность

JetBrains выпустили патч безопасности для всех IDE на базе их платформы и настоятельно рекомендуют обновиться.

Были исправлены проблемы с CSRF-уязвимостью во встроенном web-сервере и уязвимостью в RPC, позволяющей атакующему с помощью специально сформированного сайта получить некоторую (мета-)информацию, сохраняемую IDE или доступную только через приватные API.

Предупреждение о возможных проблемах для пользователей OS X: https://intellij-support.jetbrains.com/hc/en-us/articles/208516145

>>> Подробности

 , ,

ddmytrenko
()

Android: Как загрузить ресурсы налету (on runtime)

Форум — Mobile

Привет, ЛОР!

Мне нужна помощь в следующем вопросе. Как создать Toast c некоторым сообщением, прочитав его налету из, например, values/strings.xml?

Я пишу многоязычное приложение, а ресурсы в Android - прекрасный инструмент для автоматической локализации. Например я обслуживаю две локализации en_GB (стандартно values/strings.xml) и ru_RU (values-ru/strings.xml). Теперь мне бы хотелось поттягивать сообщения для пользователя в зависимости от его настроек локализации.


К примеру, создадим следующие ресурсы

values/strings.xml

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string name="str_example">String example</string>
</resources>


values-ru/strings.xml

<?xml version="1.0" encoding="utf-8"?>
<!-- russian alternative -->
<resources>
    <string name="str_example">Строка для примера</string>
</resources>


Я пробовал разные способы доступа к ресурсам типа String:


Пример 1.

Toast.makeText(this,
    getResources().getString(R.string.str_example),
    Toast.LENGTH_LONG).show();


Пример 2. (после гугльошки)

int resID = getResources().getIdentifier(
        "str_example",
        "string",
        getPackageName());
Toast.makeText(this,
    getResources().getString(resID),
    Toast.LENGTH_LONG).show();


После запуска получаю один и тот же результат - приложение посыпалось.


P.S. Также перепробовал все известные мне контексты:
1) this
2) CurrentActivity.this
3) Передавал Context параметром в функцию
4) getApplicationContext()
5) getBaseContext()

ddmytrenko
()

Android: Как загрузить ресурсы налету (on runtime)

Форум — Development

Привет, ЛОР!

Мне нужна помощь в следующем вопросе. Как создать Toast c некоторым сообщением, прочитав его налету из, например, values/strings.xml?

Я пишу многоязычное приложение, а ресурсы в Android - прекрасный инструмент для автоматической локализации. Например я обслуживаю две локализации en_GB (стандартно values/strings.xml) и ru_RU (values-ru/strings.xml). Теперь мне бы хотелось поттягивать сообщения для пользователя в зависимости от его настроек локализации.


К примеру, создадим следующие ресурсы

values/strings.xml

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string name="str_example">String example</string>
</resources>


values-ru/strings.xml

<?xml version="1.0" encoding="utf-8"?>
<!-- russian alternative -->
<resources>
    <string name="str_example">Строка для примера</string>
</resources>


Я пробовал разные способы доступа к ресурсам типа String:


Пример 1.

Toast.makeText(this,
    getResources().getString(R.string.str_example),
    Toast.LENGTH_LONG).show();


Пример 2. (после гугльошки)

int resID = getResources().getIdentifier(
        "str_example",
        "string",
        getPackageName());
Toast.makeText(this,
    getResources().getString(resID),
    Toast.LENGTH_LONG).show();


После запуска получаю один и тот же результат - приложение посыпалось.


P.S. Также перепробовал все известные мне контексты:
1) this
2) CurrentActivity.this
3) Передавал Context параметром в функцию
4) getApplicationContext()
5) getBaseContext()

ddmytrenko
()

RSS подписка на новые темы