MOAPD 2024

Mobile App Development, BSc (Spring 2024)

Description

Mobile app development has grown significantly recently, mainly due to the current computational power of modern tablets and mobile phones. The development of mobile applications brings different challenges to the developer, such as where the application will run (hardware specifications) and how the application performs when running (OS specifications). This course provides fundamental knowledge on how to develop Android applications using the native programming language Kotlin and introduces the following topics:

  • The Android application lifecycle;
  • The four types of Android app components, namely: (1) activities, (2) services, (3) broadcast receivers, and (4) content providers;
  • The design of user interfaces using imperative programming via Android Framework UI Toolkit;
  • The design of user interfaces using declarative programming via Jetpack Compose;
  • How to share data between Android components, how to persist data using files and databases, and how to manage the internal and external file storages;
  • The use of concurrency to improve speed and performance in Android applications;
  • The integration of Android apps with mobile backend services available on Google Firebase (i.e., app authentication, cloud-based database, and cloud-based storage);
  • The development of multimedia applications using the built-in camera and audio resources;
  • The use of geolocation information to develop location-aware Android applications;
  • The use of device sensors (motion, position, environment, and advanced sensors) to collect additional information for Android applications; and
  • The security aspects of Android deployment to make an Android application safer.

Staff

Supporting Materials

docs