View.getContext(): Returns the context the view is currently running in. Usually the
currently active Activity.
Activity.getApplicationContext(): Returns the context for the entire application
(the process all the Activities are running inside of). Use this instead of the current
Activity context if you need a context tied to the lifecycle of the entire application, not
just the current Activity.
ContextWrapper.getBaseContext(): If you need access to a Context from within another context,
you use a ContextWrapper. The Context referred to from inside that ContextWrapper is
accessed via getBaseContext().