Music Walker is a music player app for Android implemented with Jetpack Media3.
All music in this app is from uamp google storage or can be obtained form this link
Screen_recording_20231212_161100.webm
Follow these steps to get the app up and running on your Android device or emulator.
- Android Studio: Download and install the latest version of Android Studio.
- Android Device or Emulator: Ensure you have a physical Android device connected or an emulator set up in Android Studio.
-
Clone the repository: Clone this repository to your local machine using
git
.git clone https://github.com/onirutlA/MusicWalker.git cd MusicWalker/music_walker_android
-
Open in Android Studio: Launch Android Studio and select "Open an existing Android Studio project." Navigate to the folder where you cloned the repository and open it.
-
Build and Run: Wait for the project to build, and then click the "Run" button in Android Studio. Select your connected Android device or choose an emulator to run the app.
- Kotlin based, Coroutines + Flow for asynchronous.
- Hilt for dependency injection.
- Jetpack
- Compose - UI toolkit.
- Lifecycle - dispose of observing data when lifecycle state changes.
- ViewModel - UI related data holder, lifecycle aware.
- Navigation Compose - Navigate to another composable.
- Media3 - Audio and Video Player (only Audio Player in this case).
- KtorClient - Http Client.
- Okhttp3 - Okhttp3 instance is used inside of KtorClient.
- Timber - Logging
- Architecture
- MVI Architecture.
- Repository pattern.
- Retrofit2 & OkHttp3 - construct the REST APIs.
- kotlinx-serialization - A modern JSON library for Kotlin.
- Coil - Image Loading Library.
- Material-Components - Material design components for building ripple animation, and CardView.
Music Walker architecture is based on Google Recommendation MVI and the Repository pattern.
Your contributions to this project are highly appreciated! To contribute, follow these steps:
- Fork the repository and create a new branch.
- Make your changes and ensure the code is well-tested.
- Commit your changes and push them to your fork.
- Submit a pull request, explaining the changes you've made.
If you encounter any bugs, issues, or have suggestions for improvements, please open an issue on the repository. Provide as much detail as possible to help us understand and resolve the problem quickly.
This project is licensed under the MIT License. Feel free to use, modify, and distribute the app's code following the terms of this license.