Android - считывание каталогов с существенными значениями локали - PullRequest
0 голосов
/ 25 апреля 2011

Интересно, есть ли способ считывать значения локали всех существующих каталогов значений.

Допустим, у меня есть следующие каталоги в моем res-Directory

[...] values ​​values-de values-nl [...]

Теперь мне нужен метод, чтобы получить информацию о существовании локали de и nl для значений каталога.

Есть ли способ, если да, то как?

Любая помощь будет оценена.

С уважением,

Кристиан

1 Ответ

1 голос
/ 25 апреля 2011

В идеале ваше приложение не знает и не заботится о том, какие наборы ресурсов у вас есть. В конце концов, в этом и заключается смысл ресурсов - защищать ваше приложение от изменений ресурсов.

При этом, одной из возможностей является написание сценария, являющегося частью вашего процесса сборки, который генерирует файл с запрошенными вами данными (например, файл XML, содержащий список наборов ресурсов), который вы затем читаете во время выполнения.

Или договориться, чтобы в каждом сете была «магическая ценность». Например, в res/values-de/strings.xml может быть строка lang_de, а в res/values-nl/strings.xml - строка lang_nl. Затем вы можете использовать отражение, чтобы перебрать ваши строковые ресурсы и найти те, которые соответствуют шаблону lang_. Это может быть значительно медленнее, чем в первом варианте, особенно если у вас много строковых ресурсов.

Я не знаю, как можно опрашивать систему, чтобы узнать, какие наборы ресурсов определены.

...