https://github.com/nicosnicolaou16/samplewearoscomposewithlist
The project is a test implementation of Jetpack Compose for a Wear OS app that includes API requests (dynamic list), Hilt for dependency injection, and Room Database.
https://github.com/nicosnicolaou16/samplewearoscomposewithlist
android compose coroutines-android hilt-android hilt-dependency-injection jetpack-compose mvvm mvvm-architecture room-database wear-os wearable wearable-devices wearos
Last synced: 16 days ago
JSON representation
The project is a test implementation of Jetpack Compose for a Wear OS app that includes API requests (dynamic list), Hilt for dependency injection, and Room Database.
- Host: GitHub
- URL: https://github.com/nicosnicolaou16/samplewearoscomposewithlist
- Owner: NicosNicolaou16
- Created: 2023-10-27T22:43:01.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-01-10T23:38:20.000Z (3 months ago)
- Last Synced: 2025-03-23T06:41:23.795Z (about 1 month ago)
- Topics: android, compose, coroutines-android, hilt-android, hilt-dependency-injection, jetpack-compose, mvvm, mvvm-architecture, room-database, wear-os, wearable, wearable-devices, wearos
- Language: Kotlin
- Homepage: https://medium.com/@nicosnicolaou/standalone-wear-os-application-jetpack-compose-and-flutter-5a37f4775ed8
- Size: 557 KB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Sample Wear OS Compose With List
The project is a test implementation of Jetpack Compose for a Wear OS app that includes API
requests (dynamic list), Hilt for dependency injection, and Room Database.# The Project Contain the following technologies
[Wear OS](https://developer.android.com/training/wearables) support refers to adapting an app for
use on smartwatches, ensuring it works well with small
screens, conserves battery life, and utilizes features such as notifications and fitness tracking
specific to wearable devices.
The UI is build using [Jetpack Compose](https://developer.android.com/develop/ui/compose).
The programming language is the [Kotlin](https://kotlinlang.org/docs/getting-started.html), it is a
modern, JVM-based programming language that is concise, safe, and interoperable with Java.
[Kotlin Coroutines](https://kotlinlang.org/docs/coroutines-overview.html) is used for asynchronous
tasks.
[Kotlin KTX](https://developer.android.com/kotlin/ktx) is a collection of Kotlin extensions that
offer more concise and expressive code for working with Android APIs and libraries.
The UI is build using [Jetpack Compose](https://developer.android.com/develop/ui/compose).
For Navigation between screens is use
the [New Navigation Type Safety](https://medium.com/androiddevelopers/navigation-compose-meet-type-safety-e081fb3cf2f8).
For Animation and Navigation from the main screen to details screen is use the
new [Shared Element Transition](https://developer.android.com/develop/ui/compose/animation/shared-elements). ([Shared Element Transition - Article](https://fvilarino.medium.com/shared-element-transitions-in-jetpack-compose-8f553078101e), [Shared Element Transition - Article](https://getstream.io/blog/shared-element-compose/))
[Retrofit](https://square.github.io/retrofit/) is responsible for making requests and retrieving
data from the remote server. ([Repository](https://github.com/square/retrofit))
[Room Database](https://developer.android.com/training/data-storage/room) is responsible for saving
the retrieved data from the remote server, querying data from the local database, and supporting
offline functionality.
[KSP](https://developer.android.com/build/migrate-to-ksp) ("Kotlin Symbol Processing") is a tool for
efficient annotation processing in Kotlin, providing faster code generation and symbol manipulation
compared to KAPT. [Repository](https://github.com/google/ksp)
[Glide](https://bumptech.github.io/glide/) is an Android library for efficiently loading and
displaying images. It handles image caching,
transformations, and supports animations during image
loading. [Documentation Compose](https://bumptech.github.io/glide/int/compose.html), [Repository](https://github.com/bumptech/glide)
[Hilt Dependencies Injection](https://developer.android.com/training/dependency-injection/hilt-android)
is an Android library that simplifies dependency injection by using annotations to automatically
manage and provide dependencies across components, built on top of
Dagger. ([Documentation](https://dagger.dev/hilt/))
[MVVM](https://developer.android.com/topic/architecture#recommended-app-arch) with repository is an
architecture where the Repository manages data sources (e.g., network, database), the ViewModel
processes the data for the UI, and the View displays the UI, ensuring a clear separation of
concerns.
[R8](https://developer.android.com/build/shrink-code) enabled, is a code shrinker and obfuscator for
Android that optimizes and reduces the size of APKs by removing unused code and resources, while
also obfuscating the remaining code to improve security.# Setup
## Setup in Manifest
```xml
```
> [!IMPORTANT]
> Check my article for the setup :point_right: [Standalone Wear OS Application (Setup for Jetpack Compose and Flutter) - Medium](https://medium.com/@nicosnicolaou/standalone-wear-os-application-jetpack-compose-and-flutter-5a37f4775ed8) :point_left:> [!IMPORTANT]
> Similar project with (Dart Language) :point_right: [SampleWearOSWithList](https://github.com/NicosNicolaou16/SampleWearOSWithList) :point_left:# Versioning
Target SDK version: 35
Minimum SDK version: 28
Kotlin version: 2.1.0
Gradle version: 8.8.0# Feeds/Urls/End Point (parsing some data from response)
## (Links References for Ends Points)
https://github.com/r-spacex/SpaceX-API (GitHub)
https://docs.spacexdata.com/?version=latest (Postman)# References
https://medium.com/flutter-community/flutter-building-wearos-app-fedf0f06d1b4
https://developer.android.com/training/wearables/compose