Как я могу использовать перевод строк Android в проекте LibGDX?

Я пытаюсь использовать строковые ресурсы Android для проекта LibGDX.

К сожалению, я могу получить доступ только к методу getString() и классу R из пакета Android.

Что я могу сделать, чтобы получить к ним доступ также из основного пакета?

Или даже лучше использовать другое решение для файлов перевода?

1
0
18
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вы можете пойти тремя разными путями:

  1. Объедините код модуля core с модулем android и просто не используйте core. Недостатком этого является то, что вы потеряете возможность легко тестировать на своем рабочем столе (быстрее скомпилировать сборку рабочего стола для быстрого тестирования изменений кода), и вы потеряете возможность переноса на другие платформы, такие как рабочий стол и iOS.

  2. Используйте классы локализации libGDX для управления строками на разных языках вместо ресурсов Android. Есть инструкция как им пользоваться здесь. Это самое простое решение, и оно сохраняет кроссплатформенность.

  3. Возможно, вы могли бы написать какую-то задачу Gradle, которая извлекает ваши идентификаторы строк из сгенерированного класса R каждый раз, когда вы создаете свой модуль Android, и делает их копии доступными в классе Java в вашем основном модуле, и использует их для извлечения строк из XML через какой-то интерфейс. Это сверхсложное решение.

Спасибо, пошел на решение 2, и оно отлично работает для моего случая.

nilosch 24.03.2022 14:13

Другие вопросы по теме