This project-oriented course will investigate application development for the Android mobile platform. We will explore techniques for building well-structured applications, from local and remote data access using databases and REST APIs, through view models that synchronously and asynchronously manage and expose that data, to a Jetpack Compose user interface layer for a simple specification and testing. Assigned projects include demonstrations of full data flow from database to user interface, use of graphics and user-screen interaction, Google Maps, REST API communication and testing. Prerequisites: Strong comfort with Java and its basic APIs. Comfort with concepts such as callbacks, threads, lists, and maps. EN.605.603 Object-Oriented and Functional Programming in Kotlin is recommended but not required. Course Notes: This course is taught using Kotlin, the primary language for Android development (and required for Jetpack Compose). Kotlin knowledge is not required for this course, and its basics will be covered from the assumption that students are very comfortable with Java. Tools for developing and testing Android apps are available free of charge. Note that Android emulators may run slowly on some machines; physical Android devices are strongly recommended, but not required, for this course.
Mobile Application Development for the Android Platform
01/22/2024 - 05/07/2024