Question: I am new to Java and Android programming. The issue that I am having is that after surfing several books, forum and websites, I do not have clear understanding of what the @override annotation does. I understand it signifies when a method is being over ridden. but why is it needed in android. I see it rarely in source code for java, but all the time in android.

Answer: 
`@Override` means that you want to re-define function from superclass in child class. Read more about abstract methods, classes, polymorphism.
It is not needed for both java and android.
You see it often in android programs because eclipse adds it automatically when you create a new activity, method, etc.
If you delete the @Override annotation nothing will appen.