Lecture 2: The Android Platform

This lecture introduces Android as a platform for app development. It discusses the essential features of the software stack and the development toolchain. It considers how apps are structured physically as APK files and deployed to a device, and how they run on that device. The lecture also introduces the four app component types: activities, services, broadcast receivers and content providers.

The lecture concludes by looking at the typical implementation of an activity as a small Kotlin class coupled with a resource file specifying the UI. The views (UI components) and their layout are specified declaratively in this resource file, formatted as XML - although the developer will normally not edit the file directly, instead using the 'drag and drop' design facilities of the Android Studio IDE.