這個 Android 應用程式是手機程式設計課程的期末作品,此課程由吳柏翰老師在淡江電機系開設。我這組抽到的題目是做一個問卷的應用程式,當時我的網站已上線,我就想:「何不將我們的網站做成應用程式?」這就是這個應用程式的起源。
- 100% Kotlin
- 善用了 Kotlin 的新功能例如:KTX 程式庫和 Coroutines
- 使用了 33 個 Jetpack 程式庫,包括:Navigation、ViewModel、Material 元件等
- 透過分頁將通識課程分類,方便選取也較為整潔
- 可以向我們的課程推薦系統 API 伺服器發送使用者選取的課程*,並利用回傳的 response 更新頁面的選項
- Target SDK Version: 30 (Android 11.0(R))
- Min SDK Version: 21
- Build Tools Version: 30.0.2
- Android Gradle Plugin Version: 3.6.4
- Gradle Version: 6.5
- Kotlin Version: 1.4.21
-
Dependencies
- appcompat: 1.0.0
- constraintlayout: 1.1.3
- converter-moshi: 2.9.0
- espresso-core: 2.9.0
- junit: 1.1.1
- kotlin-stdlib: 1.4.21
- legacy-support-v4: 1.0.0
- material: 1.0.0
- moshi-kotlin-codegen: 1.11.0
- moshi-kotlin: 1.11.0
- navigation-fragment-ktx: 2.3.2
- navigation-ui-ktx: 2.3.2
- okhttp: 3.12.1
- recyclerview-selection: 1.0.0
- retrofit: 2.9.0
我當時參考了很多資料,以下的問題我這裡列出幾個我看過的網站
- 為何選用單一 Activity、多 Fragment 架構?
- Migrate to the Navigation component
- Single activity: Why, when, and how (Android Dev Summit '18)
- Reasons to use Android Single-Activity Architecture with Navigation Component Google 搜尋 "single activity multiple fragments" 有更多,主要是這個架構也是 Google 提倡的作法。
- 為何選用 Retrofit?
- 為何選用 Moshi?