¿cuál es la ventaja de usar xml para el diseño?

He estado a través de unos pocos tutoriales etc y he encontrado que puedo lograr los mismos resultados que definen todos mis componentes de interfaz de usuario en código.

por ejemplo

@Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); TextView tv = new TextView(this); tv.setText("hello"); LinearLayout ll = new LinearLayout(this); ll.addView(tv); setContentView(ll); } 

es el equivalente de

 @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); } 

+

 <?xml version="1.0" encoding="utf-8"?> <TextView xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/textview" android:layout_width="fill_parent" android:layout_height="fill_parent" android:text="@string/hello"/> 

¿Cuáles son los beneficios de rendimiento / mantenimiento del uso de XML para esto?

Si un programador prefiere usar código sobre XML, ¿qué consideraciones adicionales deben hacerse?

Saludos, p.

¿Cuáles son los beneficios de mantenimiento de usar XML para esto?

  1. Separación de la lógica de la presentación. Esto ayuda en proyectos más grandes cuando necesita refactorizar algún código. Si está estrechamente acoplado a la interfaz de usuario, este trabajo puede llegar a consumir mucho tiempo con mucha facilidad si gran parte de la lógica de presentación está en código.
  2. La estructura de XML se correlaciona muy bien con la estructura de una interfaz de usuario, es decir, una estructura similar a un árbol.

¿Cuáles son los beneficios de rendimiento de utilizar XML para esto?

Todo depende de la implementación, supongo. Dudo que haya diferencias de rendimiento apreciables, pero honestamente no sé lo suficiente como para decir definitivamente lo que pueden ser.

… eso es todo lo que tengo =)

Puede referirse a Por qué utilizar XML para crear GUI es una buena práctica en Android .

Para mí, siento que esto es más como gusto personal. Vine del fondo de Java Swing. Cuando estoy haciendo el desarrollo de aplicaciones de escritorio, prefiero crear GUI programática.

Sin embargo, cuando se trata de desarrollo de Android, me quedo con el desarrollo basado en XML GUI, aunque yo favor de utilizar el código en lugar de XML.

Esto es porque, tienden a seguir la mayoría favorecida estilo de codificación y la mitología, lo que me hace fácil obtener apoyo técnico y tutoriales.

El diseño XML se convierte en código Java cuando se compila, por lo que el rendimiento debe ser el mismo. Prefiero usar XML ya que una gran cantidad de documentación y tutoriales hacen uso de ella; es la forma de Android de escribir la interfaz de usuario. Además, XML tiende a ser más fácil de reutilizar.

Los archivos XML están integrados en el marco de recursos, lo que significa que puede especificar fácilmente diferentes diseños para diferentes tamaños de pantalla (y densidades, idiomas, …). Esto es importante en android debido a la diversidad de dispositivos.

Usted puede, por supuesto, a este programa, pero se agregará un montón de código unnessecary hinchazón y la aplicación será probablemente más difícil de mantener.

El estado del editor de XML de la disposición es un problema en este momento, pero se hicieron anuncios / demostraciones en Google IO que mejoras significativas están en camino … no puedo esperar.

FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.