an abstract class whose implementation is provided by the Android system.
It allows access to application-specific resources and classes, as well as
up-calls for application-level operations such as launching activities,
broadcasting and receiving intents, etc.