Introduction
Course Hardware and Software
Hardware
You do not need an Android device for your coursework, but if you have access to one (or want to purchase one for your coursework), development feels more realistic.
The minimum recommended RAM for Android Studio is 8GB RAM with an SSD. More memory is better, as Android Studio and the Android emulator love to use lots of memory. Ideally you'll have 16GB or more RAM.
If you have only 8GB RAM, I strongly recommend you either upgrade your RAM or purchase an inexpensive Android phone for classwork. Many pay-as-you-go phones (which you do not have to activate) can be found for under $100 and will greatly improve your development experience. (Note, however, a physical device is not required for this course.)
Software
The following are the required versions of tools for this term.
Warning
Do not upgrade any versions after the first module unless I instruct you to do so! We want to make sure we're using the same version of everything that you are when we grade your assignment submissions.
Be sure to use the Kotlin DSL + Gradle Version Catalogs option for Build configuration language when creating new projects.
Please double-check these versions when creating new projects!
Name | Version |
---|---|
Android Studio Install via Jetbrains Toolbox |
Hedgehog 2023.1.1 Patch 2 |
Gradle in distributionUrl in gradle/wrapper/gradle-wrapper.properties |
8.2 |
Android Gradle Pluginagp in gradle/libs.versions.toml |
8.2.2 |
Kotlinkotlin in gradle/libs.versions.toml |
1.9.22 |
KSP when adding ksp in gradle/libs.versions.toml |
1.9.22-1.0.17 |
Jetpack Compose Bill of Materialscompose_bom in gradle/libs.versions.toml |
2024.02.00 |
Jetpack Compose CompilerkotlinCompilerExtensionVersion in app/build.gradle |
1.5.8 |
JDK Toolchain Add kotlin { jvmToolchain(17) } in app/build.gradle |
17 |
Android minimum API minSdk in app/build.gradle |
24 |
Android target API targetSdk in app/build.gradle |
34 |
Android compile API compileSdk in app/build.gradle |
34 |
Note
In app/build.gradle/kts
, be sure to delete
compileOptions {
sourceCompatibility = JavaVersion.VERSION_1_8
targetCompatibility = JavaVersion.VERSION_1_8
}
kotlinOptions {
jvmTarget = "1.8"
}
Sample Code
See the "Sample Code" module for download and usage instructions
If you see any problems in the sample code, please let me know and I'll update it.