Подтвердить что ты не робот

Почему XML используется для создания макетов пользовательского интерфейса в Android?

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

Также я хотел бы знать значение значения autogenerated R.java. Все, что я знаю, что он создается в соответствии с изменениями в ресурсах и помогает нам получить доступ к виджетам и ресурсам через их идентификаторы.

Было бы здорово, если бы кто-то мог дать четкое представление об этих двух аспектах.

4b9b3361

Ответ 1

В отличие от того, что все говорили о том, что xml является простым и эффективным. Вот что я прочитал из Hello Android от Ed Brunnette, который имел смысл.

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

Несмотря на то, что вы видите XML при написании своей программы, подключаемый модуль Eclipse вызывает компилятор ресурсов Android aapt для предварительной обработки XML в сжатый двоичный формат. ** Этот формат, а не оригинальный текст XML, является сохраненных на устройстве.

Это был тот ответ, который я искал. (извините, если мой вопрос означал иначе).

Причина, по которой был выбран XML, объясняется главным образом его знакомством и количеством инструментов IDE, которые его поддерживают. Разработчики могли выбрать JSON, например, и все еще скомпилировали это для двоичного файла. Автогенерированный файл R.java является помощником для IDE, так что вы можете получить преимущество автозаполнения, когда хотите получить доступ к ресурсу.

Ответ 2

XML легко анализировать и манипулировать программно, в основном это древовидная структура, и большинство инструментов создания пользовательского интерфейса уже используют его. Это действительно не имеет ничего общего с развязкой бизнес-логики, потому что вы также можете определить Java-код на Android, используя шаблон Model-View-Controller.

Автогенерированный файл R.java является помощником для IDE, так что вы можете получить преимущество автозаполнения, когда хотите получить доступ к ресурсу. Это также мешает вам делать глупые ошибки, поскольку компилятор будет жаловаться, если вы попытаетесь получить доступ к ресурсу, который вы не определили. Если вы использовали простой файл свойств, вы не знали бы до тех пор, пока не будет запущен "ключ", который вы используете.

Ответ 3

Как и для Silverlight с xml, ответ простой xml дает возможность интеграции и масштабируемости. R.java - для индексации, когда организованные вещи никогда не плохи. Извините мой английский

Ответ 4

Одна из возможных причин заключается в том, что вам не нужно иметь какую-либо рабочую java, чтобы видеть визуальный макет интерфейса, над которым вы работаете. Элемент/страница xml ui - это, по сути, документ, который вы можете анализировать и отображать. Если это был исходный файл, вам придется либо тщательно разобрать его, либо скомпилировать и запустить (все из которых более сложны, чем разбор xml)

Ответ 5

Xml как сам хорошо читается как человеком, так и машиной. Кроме того, он масштабируется и прост в разработке. Кроме того, вы уже упоминали о развязке.

Что касается R.java - это просто способ доступа к виджетам. Решение довольно хорошо, поскольку вместо использования строки вместо использования строки используется меньше, а в то же время предоставляет читаемые имена для простоты разработки.

Ответ 6

Макеты Android - это древовидные структуры с некоторыми обязательными правилами. XML идеально подходят для этой цели.

JSON также имеет древовидную структуру, но они ориентированы на данные, а XML - на документы. **:

Значение XML основано на идее, что документы имеют структурную и  другие семантические элементы, которые могут быть описаны без ссылки на  как такие элементы должны отображаться.

Фактическое отображение такого документа может варьироваться в зависимости от  Среда вывода и стилевые настройки.

В то время как JSON был разработан для  представляют JavaScript, и их основная цель - обмен данными. Они хорошо подходят для ориентированных на данные областей    из-за легкого веса и простоты ближе по синтаксической форме к программированию структур данных.