Как правильно использовать ResourceBundle.getBundle () в приложении для Android? - PullRequest
2 голосов
/ 09 февраля 2010

Я хочу знать, как я могу использовать ResourceBundle.getBundle () в приложении Android, учитывая, что я использую его в своих приложениях Java. Например:

У меня есть файл свойств «MyOrg.properties», который я включил в файл JAR с именем «MyOrg.jar». Информация о пути в файле JAR, связанном с «MyOrg.jar», называется «myorg \» (это в системе Windows). Я создаю свое Java-приложение, используя «myorg.jar», и отмечаю, что следующая строка кода работает должным образом, то есть загружает файл «MyOrg.properties» из «MyOrg.jar» как java.util.ResourceBundle: 1003 *

        ResourceBundle resources = ResourceBundle.getBundle( "myorg.MyOrg" );

Затем я помещаю измененную копию файла «MyOrg.properties» в файловую систему в каталог «c: \ myorg», который находится в пути к классам моего приложения Java. Теперь я перезапускаю свое Java-приложение и отмечаю, что Resource.getBundle () возвращает, как и ожидалось, пакет для модифицированной копии «MyOrg.properties» (той, которая находится в файловой системе).

Поведение, которое я только что описал, - это то, чего я хотел бы достичь с помощью приложения для Android. Однако ResourceBundle.getBundle () генерирует исключение MissingResourceException; он не может найти «MyOrg.properties» ни в файле JAR, ни в качестве отдельного файла.

Итак, у меня два вопроса:

1) - Возможно ли для приложения Android извлечь ресурс из файла JAR с помощью ResourceBundle.getBundle () (или любым другим способом в этом отношении)?

2) - Возможно ли для приложения Android извлечь ресурс из файла с помощью ResourceBundle.getBundle ()?

Относительно 2): я использую плагин nbandroid с NetBeans 6.7.1 и поместил копии «MyOrg.properties» в файловую систему, как описано ниже, до создания моего приложения Android:

MyProject

- сборка

- занятия

  myorg (directory contains "MyOrg.properties")

... ЦСИ

  myorg (directory contains "MyOrg.properties")

1 Ответ

1 голос
/ 14 февраля 2010

вам нужно убедиться, что файл свойств попадает в файл .apk. Ваша лучшая ставка, вероятно, в res / raw / или assets /. см. также конструкторы PropertyResourceBundle (так как легко получить InputStream).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...