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: 
I know next to nothing about Android-programming, but the @Override-annotation is used to show that the method overrides a supeclass method (or implements an interface method in Java 1.6). Besides the purely documentational meaning of the annotation, at least Eclipse also warns you (or marks it an error, depending on your settings) if the method doesn't actually override any superclass method, when you think it does (thus preventing some frustrating bug-hunting). Maybe the Android-compiler just by default requires all overriding methods to be annotated with @Override.
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.