Android brings to the table a whole new set of building blocks:. Each has its own unique properties. Building an app is mashing them together in a unique way. Often, there are multiple approaches to seemingly the same result. Knowing what component to use when is often a balance of art and science. In this talk, we’ll explore the main building blocks of Android: activities, services, providers, receivers as well as intents that glue them all together. We’ll learn about properties and variations of each. By the end of this talk, you should know how to write a straw-man implementation of basic building blocks, when to use them, and how to connect them together. This talk is based on Ice Cream Sandwich release of Android.