Насколько необходимо хранить значения в папке «Ресурсы»? - PullRequest
0 голосов
/ 08 февраля 2019

С веб-сайта Android Developer: https://developer.android.com/guide/topics/resources/providing-resources

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

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

Как я понял, мы должны хранить здесь используемый статический контентв кодировании, чтобы их было легче редактировать / хранить / управлять, не так ли?Какую еще цель они имеют?

Разве я не могу просто иметь свои собственные отдельные классы Java и определять все мои переменные, финалы и т. Д.?Эти ресурсы действительно необходимы?

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

Что я теряю, не назначая свои значения в файлах .xml в папке «Ресурсы», а непосредственно в моих классах Java?Кажется, что возникает такая сложность: их объявлять, редактировать в файлах .xml, снова обращаться к ним в файлах Java и т. Д.

Но!Конечно, я понимаю, что это сделано по уважительной причине, я просто пока не понимаю, почему.

Ответы [ 2 ]

0 голосов
/ 08 февраля 2019

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

некоторые преимущества:

  1. производительность, немедленным результатом является то, что вы можете создавать гораздо больше вещей за меньшее время.
  2. ясность, людиновичок в проекте будет быстрее переходить к скорости, так как это «стандарт».
  3. уменьшит количество решений, которые вы должны принять.
  4. устраните сложностьнеобходимость настройки всех областей разработки приложений.

    .. счастливое кодирование.

0 голосов
/ 08 февраля 2019

Какое еще назначение они имеют?

  • Позволяют вам иметь различные конфигурации в зависимости от локали, размеров устройства и версий ОС.

Не могу япросто есть свои собственные отдельные классы Java и определить все мои переменные, финалы и т. д. там?Эти ресурсы действительно необходимы?

  • Для определенных вещей да, вы можете и должны определить их в Java.

Я понимаю, что, например, звуковые файлы, изображенияи т. д. должны храниться где-то, а в классах Java мы ссылаемся на их местоположение или сообщаем программе, как их достичь, но как насчет значений, таких как целые числа или строки?

  • Строки, которые отображаютсяпользователь всегда должен храниться в папке res.Это делает локализацию намного проще.Однако строки, такие как ключи намерений, могут и, по моему мнению, должны храниться в виде статической закрытой переменной в Java.
  • Целые числа могут храниться в Java.Если целое число является размером для того, сколько дано отступа, или насколько большим должно быть изображение, то оно должно быть в папке res.Однако, если целые числа знать, что означают различные значения, отличные от конечной точки базы данных, я сохраню это в Java.

Что я потеряю, не назначив свои значения в файлах .xml в папке Resourcesно прямо в моих классах Java?Кажется, что возникает такая сложность: объявить их, отредактировать их в файлах .xml, обратиться к ним снова в файлах Java и т. Д.

  • Значение, которое вы получите, - это если вам нужно изменить его на основелокаль / язык, установленный пользователем, если размер экрана имеет значение (планшет, большие телефоны, пейзаж и т. д.) или если вам небезразлична версия устройства.Например, разные версии Android делают иконки по-разному.У меня есть папка с именем minmap-anydpi-v26, в которой есть мои иконки.Затем в моей обычной папке minmap у меня есть значок «по умолчанию».

TL; DR В большинстве случаев папка res помогает с пользовательским интерфейсом (тем, что видит пользователь).Я бы (в основном) сохранял только целые числа и строки, связанные с элементами пользовательского интерфейса, в папках res.

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