This music player app uses modern Android technologies, including MVVM architecture, Room, Media3, and Hilt. The app allows users to fetch songs from their device, create playlists, play songs, add songs to playlists, and play music by albums and artists.
- Uses Media3 for playing music.
- Implements dependency injection with Hilt.
- Utilizes Room to create playlists and save songs, avoiding the need to refetch from the device.
- Employs single activity architecture and MVVM.
- Allows users to add songs to playlists and play songs by playlist.
- Navigation using the Navigation Component.
- Includes sections for albums and artists.
data
: Contains Room database, models and repositories.di
: Hilt modules.ui
: UI layer of the app.utils
: Utility classes used across the app.
Kotlin: As the programming language.
Hilt : For injecting dependencies.
Media3 : For Media Player.
Room : To store Songs and Playlists.
Preferences DataStore : To store mini playback details.
Simple clone this app and open in Android Studio.
The following features are yet to be implemented:
- Song and playlist options.
- Player shuffle and repeat.
- Marking songs as favorites.
- App icon.