Android is a software stack based on Linux that uses Java as its programming interface. It is open source and developed by the Open Handset Alliance led by Google. Android is the market leader in smartphones, with over 550,000 new activations per day. Android applications are developed in Java using the Android SDK and run on the Dalvik virtual machine. The Android API provides capabilities like rich UI components, background processing, network access, hardware access, and more. Developers can test apps using the emulator or deploy to devices over USB or app markets. Main Android programming constructs include activities, views, intents, services, and content providers.