It defines the XML namespace of the document. You should put it, otherwise tags like<RelativeLayout>
could be not recognied by the parser.
Namespaces are a way for XML documents to include tags from various vendors. By usingxmlns
attribute you declare, that, by default, you're using XML elements defined here:http://schemas.android.com/apk/res/android(note that this link is broken -this discussionexplains why).
You also declare additional namespace,tools
, which is not your default namespace, thus when referencing elements or attributes defined there, you must addtools
prefix, on example:
tools:context=".SomeActivity"