Теоретический вопрос: загрузить внешний файл XML-Layout в Android - PullRequest
11 голосов
/ 05 июля 2011

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

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

Ответы [ 4 ]

6 голосов
/ 05 июля 2011

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

3 голосов
/ 05 июля 2011

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

1 голос
/ 29 октября 2014

ДА, сейчас это возможно с ItsNat Droid, посмотрите:

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

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

0 голосов
/ 05 июля 2011

Может быть, функция инфляции в LayoutInflator подойдет вам.

РЕДАКТИРОВАТЬ : пока не работает.

...