title: What is the 'app' Android XML namespace?
body: <p>Here is an example of the <code>app</code> namespace that I've seen from a <code>res/menu/main.xml</code> file</p>
  
  <pre><code>&lt;menu xmlns:android="http://schemas.android.com/apk/res/android"
  xmlns:app="http://schemas.android.com/apk/res-auto"
  xmlns:tools="http://schemas.android.com/tools"
  tools:context=".MainActivity" &gt;
  &lt;item android:id="@+id/action_settings"
      android:title="@string/action_settings"
      android:orderInCategory="100"
      app:showAsAction="never" /&gt;
  &lt;/menu&gt;
  </code></pre>
  
  <p>What purpose does the <code>app</code> namespace serve? Is it a "standard" Android XML namespace? Are the same value options available for the same attribute placed in two different namespaces (e.g. <code>app:showAsAction</code> and <code>android:showAsAction</code>).</p>
  
  <p>From the <a href="http://developer.android.com/guide/topics/resources/menu-resource.html">docs</a>:
  <code>android:showAsAction=["ifRoom" | "never" | "withText" | "always" | "collapseActionView"]</code> </p>
  
  <p>i.e., would the line in the above example mean something else if the attribute were instead:</p>
  
  <pre><code>android:showAsAction="never"
  </code></pre>
  
  <p>It almost looks like it might be some sort of "subclassing" mechanism, but I can't seem to find any real documentation on the <code>app</code> namespace from Google/Android sources.</p>