Android applications are composed of components that include activities, services, broadcast receivers, content providers, intents, widgets, and notifications. Activities provide user interfaces, services perform background tasks, broadcast receivers listen for system-wide broadcasts, content providers manage data access, intents enable communication between components, widgets provide miniature application views, and notifications display alerts without interrupting the user. These components are described in the application manifest and can interact through intents and other defined interfaces.