Теоретический вопрос: загрузить внешний файл XML-Layout в Android

Я думаю, что это возможно невозможно по соображениям безопасности, но просто хочу быть уверенным: возможно ли создать макет в Android из внешнего XML файла?

Точно: я создаю XML-вывод с XSL на удаленном сервере. Я мог бы создать необходимый макет прямо на сервере, а затем загрузить его в свое приложение для Android.

Ответ 1

Это невозможно. XML-макеты в Android НЕ хранятся как XML. По соображениям производительности они предварительно обрабатываются во время компиляции и сохраняются в двоичной форме, а раздув макета только понимает эту двоичную форму, а не xml.

Ответ 2

Конечно, вы можете создавать динамические представления во время выполнения, в то время как я не уверен, что это лучшее решение. Если вы посмотрите на внутренности Android, каждый вид, который создается через XML, вызывается с конструктором с двумя параметрами: Контекст и - еще более интересным для вас - AttributeSet. Я думаю, что у вас есть много работы с разбором его, сохраняя при этом правильный формат. Вы могли бы по крайней мере установить значения и построить свои представления самостоятельно на Java в зависимости от вывода сервера.

Ответ 3

ДА, теперь возможно с ItsNat Droid, посмотрите:

https://groups.google.com/forum/#!topic/itsnat/13nl0P12J_s

Он все еще находится в тяжелом развитии, но наиболее важные функции уже реализованы.