You need to use the namespace in case you use your own attributes for the views.
This is most commonly used when you create your own (or use others) customized views.
For example, if you create your own customized textView which supports using a custom font from the assets folder, you might want to add this:
<...MyTextView app:fontFile="fonts/myFont.ttf" .../>
Basically if you wont use the xmlns(ns: name space) ,there could be a conflict between the tag used in another xml file . for eg:
file1:
<table>
<name>jad</name>
</table>
file2:
<table>
<tr>
<td>google</td>
</tr>
</table>
If these XML fragments were added together, there would be a name conflict. Both contain a element, but the elements have different content and meaning.
For this major reason a qualified name space is used . There are other several use also .