Несколько вопросов о том, как не использовать ресурсы в моем проекте Android

Мой проект Android предназначен для распространения как библиотека многократного использования, как банку. Я понимаю, что я не могу использовать какие-либо ресурсы (никаких ссылок на статический класс R). У меня есть пара вопросов о том, как это сделать.

Что такое хороший способ обработки чертежей? Если я включу изображение на свой путь источника в /images/image.png, тогда я могу загрузить его с помощью приведенного ниже кода. Это хорошая стратегия?

InputStream is = getClass().getResourceAsStream("/images/image.png");
BitmapFactory.decodeStream(is);

Как обращаться с интернационализацией? Думаю, я мог бы включить все мои строки в класс Java, а не возвращать один на основе языка устройства. Но будет ли это нагрузкой на память для моего приложения? Также, как правильно определить язык устройства?

1 ответ

Есть ли какая-то причина для его распространения в качестве банки? Я бы посоветовал вам распространять его как Библиотечный проект. Проекты библиотеки Android, описанные здесь, позволят вам использовать статический класс R так же, как вы его используете в обычном проекте, и у вас также будет возможность обрабатывать интернационализацию.

Очень хорошей причиной для использования проекта библиотеки является тот факт, что ресурсы, размещенные в папке res/, сильно сжаты для компиляции, чтобы уменьшить окончательный размер вашего двоичного файла. Это верно как для изображений, так и для файлов xml.

licensed under cc by-sa 3.0 with attribution.