No Tutor yet
The lecture is split into a theoretical part, assignments and a practical part. The following list gives an overview (not complete) of the topics you will learn in these lectures. The assignments will help you to really understand and establish your knowledge.
| Topics | Slides |
|---|---|
| Introduction, lecture organization | Organization |
| General mobile app development toolchain overview, native build process, version control systems (short Git introduction), testing tools, collaboration tools, continuous integration | App-Development Toolchain |
| Introduction to the programming language Kotlin | Kotlin Intro |
| Introduction (or refresher) to the versioning system Git | Git Intro |
| Introduction to Android: System architecture, Android SDK basics, Android Studio introduction, ADM, ADB, Android Manifest, Android UI basics (composables, resources, etc.) | Android Intro |
| Android component types overview, Activity, Application Context, Intent, WebView, Permissions, Excursion to Support Libraries, Android Security and UI reaction times | Android Framework Basics |
Implementing lists with LazyColumn |
Android Lists |
| Navigation Compose: NavController, NavHost, routes, back stack; Fragments as legacy | Android Navigation |
| Services & Broadcast Receivers | Services and Broadcast Receivers |
| Coroutines, suspend functions, Dispatchers, Flow & StateFlow, WorkManager | Asynchronous Programming |
| SharedPreferences/DataStore, files, Room, MVVM with ViewModel, Repository and manual dependency injection | Storage Options & App Architecture |
| Introduction to API calls and Serialization | Android Networking |
| Testing (Compose UI tests, unit tests), pointers for the project categories (camera, sensors, maps, Bluetooth, animation), popular libraries, Android Automotive | Android Excursion |
| Assignments | Slides |
|---|---|
| Assignment 1: Android Basics | Assignment 1 |
| Assignment 2: Introduction to LazyColumn | Assignment 2 |
| Assignment 3: Navigation | Assignment 3 |
| Assignment 4: Working with Room | Assignment 4 |
| Assignment 5: Introduction to API Calls and Image Loading | Assignment 5 |
local.properties in the project root as
OMDB_API_KEY=your_key. The build reads it into BuildConfig.OMDB_API_KEY. local.properties is ignored by Git,
never commit the key (also not hard-coded in Kotlin code). Get a free key at https://www.omdbapi.com/apikey.aspx.gradle/libs.versions.toml). If Android Studio offers to upgrade the
AGP, you may accept, as long as the project still builds and the UI tests pass.No liability assumed. As Android frameworks, programming languages (e.g. Kotlin) and development environments evolve very quickly, the lecture slides and assignments have to be constantly updated. Please bear with me, apologies for any inconvenience.
For ideas and any kind of comments please send me a message to nagelm@hdm-stuttgart.de.