Why is XML used for the creation of UI layouts in Android?
<p>I would like to know why we use <strong>XML for the creating user interface layouts in Android</strong>. I know that it decouples the buisness logic from the design but what is the significance of the XML other than that?</p>

<p>Also I would like to know the <strong>significance of autogenerated <code>R.java</code> file</strong> in this. All I know that it is generated according to the changes in the resources and that it helps us to access the widgets and resources through their ids.</p>

<p>It would be great if someone could give a clear idea on these two aspects.</p>

<p>P.S.: I haven't put these questions as two different ones because I believe that the answers are interelated.</p>

<p><strong>Edit</strong>:(More Info)
Unlike what everyone said about the xml being easy and efficient.Here is what i read from Hello Android from Ed Brunnette which made sense.</p>

<p>Android is optimized for mobile devices with limited memory and horsepower, so you may find it strange that it uses XML so pervasively. <strong>After all, XML is a verbose, human-readable format not known for its brevity or efficiency, right?</strong></p>

<p>Although you see XML when writing your program, <strong>the Eclipse plug-in invokes the Android resource compiler, aapt, to preprocess the XML into a compressed binary format.**It is this format, not the original XML text, that is stored on the device</strong></p>

<p>If you know more on this please add on</p>
