2011-04-13 13 views
17

Me gustaría saber por qué usamos XML para la creación de diseños de interfaz de usuario en Android. Sé que desacopla la lógica de negocio del diseño, pero ¿cuál es el significado del XML aparte de eso?¿Por qué se usa XML para la creación de diseños de IU en Android?

También me gustaría saber la importancia del archivo autogenerado R.java en esto. Todo lo que sé es que se genera de acuerdo con los cambios en los recursos y que nos ayuda a acceder a los widgets y recursos a través de sus identificadores.

Sería genial si alguien pudiera dar una idea clara sobre estos dos aspectos.

+1

@Abdullah: Presupuesto de Hola Android por Ed Morena: Android está optimizado para dispositivos móviles con memoria limitada y caballos de fuerza, por lo que puede que le resulte extraño que utiliza XML para penetrante. Después de todo, XML es un formato detallado, legible por humanos no conocido por su brevedad o eficiencia, ¿verdad? Aunque vea XML al escribir su programa, el complemento Eclipse invoca el compilador de recursos de Android, aapt, para preprocesar el XML en un formato binario comprimido. Es este formato, no el texto XML original, que está almacenado en el dispositivo. – rogerstone

+3

Eso es correcto, pero tenga en cuenta que cualquier formato podría haberse utilizado como formato fuente antes de compilarse. El motivo por el que se eligió XML se debe principalmente a su familiaridad y al número de herramientas IDE que lo soportan de forma nativa. Los desarrolladores podrían haber elegido JSON por ejemplo y todavía compilar eso en binario. –

Respuesta

24

A diferencia de lo que todos decían sobre el xml es fácil y eficiente. Aquí está lo que leí de Hello Android de Ed Brunnette, que tenía sentido.

Android está optimizado para dispositivos móviles con memoria y potencia limitadas, por lo que puede resultar extraño que utilice XML de manera tan generalizada. Después de todo, XML es un formato detallado, legible para el ser humano, conocido por su brevedad o eficiencia, ¿no?

Aunque vea XML al escribir su programa, el complemento Eclipse invoca el compilador de recursos de Android, aapt, para preprocesar el XML en un formato binario comprimido. ** Es este formato, no el texto XML original, que está almacenado en el dispositivo.

Este fue el tipo de respuesta que estaba buscando. (Lo siento si mi pregunta significa lo contrario).

El motivo por el que se eligió XML se debe principalmente a su familiaridad y al número de herramientas IDE que lo admiten de forma nativa. Los desarrolladores podrían haber elegido JSON por ejemplo y aún compilarlo en binario. La R. autogeneradaEl archivo java es un ayudante para IDE para que pueda obtener el beneficio de autocompletar cuando desee acceder a un recurso.

+0

buena respuesta, gracias por explicarlo, ¿pueden publicar también el enlace? desde donde lo lees? – AnkitSablok

3

Igual que el porqué es silverlight con xml la respuesta es simple xml da poder por integración y escalabilidad. R.java es para indexar tener las cosas organizadas nunca es malo. Disculpe mi inglés

1

Una posible razón es que no necesita tener ningún Java debajo para poder ver el diseño visual de la interfaz en la que está trabajando. El elemento/página xml ui es esencialmente un documento que puede analizar y mostrar. Si fuera un archivo fuente, tendría que analizarlo cuidadosamente o compilarlo y ejecutarlo (todos los cuales son más complejos que analizar xml)

12

XML es fácil de analizar y manipular mediante programación, básicamente es una estructura de árbol y la mayoría Las herramientas de creación de interfaz de usuario ya lo usan. Realmente no tiene nada que ver con la desacoplamiento de la lógica empresarial porque también se puede definir el código Java en Android usando un patrón Model-View-Controller.

El archivo R.java autogenerado es un ayudante para el IDE para que pueda obtener el beneficio de autocompletar cuando desee acceder a un recurso. También evita que cometa errores estúpidos, ya que el compilador se quejará si intenta acceder a un recurso que no ha definido. Si estuviera usando un archivo de propiedades simple, no sabría hasta el momento de la ejecución que falta la 'clave' que está utilizando.

+0

@ Vladmir, @ IanNorton, @ sub: He actualizado un nuevo aspecto que he encontrado sobre esto en los comentarios. Por favor, échenle un vistazo y háganme saber sus opiniones – rogerstone

1

Xml como en sí es bien legible tanto por humanos como por máquinas. Además, es escalable y simple de desarrollar. Además, ya has mencionado el desacoplamiento.

En cuanto a R.java, es solo la forma de acceder a los widgets. La solución es bastante buena, ya que usa ints en lugar de string para usar menos memoria y, al mismo tiempo, proporciona nombres bien legibles para la simplicidad del desarrollo.

Cuestiones relacionadas