A Context represents your environment. It represents the state surrounding where you are in your system.
For example, in web programming in Java, you have a Request, and a Response. These are passed to the service method of a Servlet.
A property of the Servlet is the ServletConfig, and within that is a ServletContext.
The ServletContext is used to tell the servlet about the Container that the Servlet is within.
So, the ServletContext represents the servlets environment within its container.
Similarly, in Java EE, you have EBJContexts that elements (like session beans) can access to work with their containers.
Those are two examples of contexts used in Java today.
Edit --
You mention Android.
Look here: http://developer.android.com/reference/android/content/Context.html
You can see how this Context gives you all sorts of information about where the Android app is deployed and what's available to it.