Причина для активов и сырьевых ресурсов в Android
Это какой-то философский вопрос .. . Я нахожусь в середине моих исследований в мире Android, и я просто охватил активы и сырьевые ресурсы.
Я пытаюсь понять причину использования сырьевых ресурсов против активов.
Они оба обеспечивают неоткомпилированной входной поток ресурсов.
-
кажется, что активы обеспечивают гораздо большую гибкость и функциональность, чем сырьевые ресурсы.
а. Вы можете создайте структуру папок в разделе Активы, а не в разделе Raw
б. вы можете перечислить динамически все ресурсы в папке Assets, а не в RAW папке.
Так почему бы мне использовать необработанные ресурсы в Android ?
спасибо.
3 ответа:
основные различия между и
Assets
папка.
так как raw является подпапкой ресурсов (res), Android будет автоматически генерировать
ID
для любого файла, расположенного внутри него. ЭтотID
затем сохраняется вR class
это будет выступать в качестве ссылки на файл, то есть он может быть легко доступен из других классов Android и методы, и даже в Android XML-файлов. Используя автоматически сгенерированный код-это самый быстрый способ доступ к файлу в Андроид.папка Assets-это "приложения"
С документация для Android на
raw/
используется для:произвольные файлы для сохранения в необработанном виде. Чтобы открыть эти ресурсы с помощью raw InputStream, называют ресурсы.openRawResource() с идентификатором ресурса, который является R. raw.имя файла.
однако, если вам нужен доступ к исходным именам файлов и иерархии файлов, вы можете рассмотреть возможность сохранения некоторые ресурсы в
assets/
каталог (вместо res / raw/). Файлы в активы/ не дают идентификатор ресурса, так что вы можете прочитать их только с помощью AssetManager.
в одной строке, файлы в и не компилируется платформой,присваивается идентификатор ресурса и не могут быть сгруппированы в папки а если вы хотите, в противном случае использовать
добавление к ответам выше...
/РЭС/строки,/РЭС/макет,/РЭС/XML-файлы и т. д. все компилируется в двоичный формат. Но если вы помещаете файлы, включая XML-файлы, в каталог /res/raw/, они не компилируются в двоичный формат.
одно большое преимущество использования имущества над сырцовыми ресурсами
file:///android_asset/
Uri префикс.Это полезно для загрузки активов в WebView. Например, для доступа к активу, расположенному в активы / foo / индекс.html в рамках вашего проекта, вы можете позвонитьloadUrl("file:///android_asset/foo/index.html")
загрузка этого HTML в WebView.