In Android XML, the purpose of the @ is to be nullipotent

Date: 2015-06-13

It is a type of pseudo-literal.

Here is what that means:

In english, "the purpose of the @ sign is to indicate what follows the @ sign is what you want letter for letter, symbol for symbol. And it is not expected to change _or_ it is ***nullipotent***"

How I got there

Google: android xml what is the purpose of the @

High up I find:

App Manifest | Android Developers, So I follow

App Manifest -> File Conventions -> Scroll down to: Resource values

Resource values

Some attributes have values that can be displayed to users ? for example, a label and an icon for an activity. The values of these attributes should be localized and therefore set from a resource or theme. Resource values are expressed in the following format,
where the package name can be omitted if the resource is in the same package as the application, type is a type of resource ? such as "string" or "drawable" ? and name is the name that identifies the specific resource. For example:
<activity android:icon="@drawable/smallPic" . . . >
Values from a theme are expressed in a similar manner, but with an initial '?' rather than '@':

This all suggests that the purpose of what the value does, but NOT what or why we are using the "at symbol" (@).

Further down in the Google search is see the title:

Use Android's @+id Notation With Care - mttkay here.

Now search for the word -> idempotent

I read both paragraphs around that word. Now things starts to make sense. SO I head over to wikipedia.

In computer science, the term idempotent is used more comprehensively to describe an operation that will produce the same results if executed once or multiple times.

Which footnotes,

RESTful Web services: The basics

Using GET in this way is explicit because GET is for data retrieval only. GET is an operation that should be free of side effects, a property also known as idempotence.

Which gets us to


Unbot: On Android, how the @ symbol, the attribute and resource value work in AndroidManifest.xml