сохранение InputStreams в res / values - PullRequest
0 голосов
/ 07 марта 2012

Было принято решение об экстернализации некоторых ресурсов внутри приложения Android, и оно касается некоторых массивов res / values. Они имеют вид:

    <string-array name="idd0">
    <item>"000"</item>
    <item>"007"</item>
    <item>"005"</item>
</string-array>

<!-- 222 countries -->
<array name="idd">

    <item>"00"</item>
    <item>"00"</item>
    <item>@array/idd0</item>
    </array>

    etc

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

Спасибо

1 Ответ

3 голосов
/ 07 марта 2012

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

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