A music player that built on android's jetpack compose using mvvm architecture
Welcome Everyone .
This app is created using kotlin and jetpack compose , If you are starting android development or want to learn about exoplayer (mediaplayback ) in android this project gives u a better understanding about everything you should know about Andriod Media .
🔥Firebase : User Authentication (including two-factor mobile) and cloud storage for storing music files .
⭐Jetpack compose : Android latest ui library that comes from google . It is so much convenient to use JetpackCompose than the old XML files . Try it and you will never regret !
🎵Exoplayer : Exoplayer have a lot of inbuilt features than the traditional media player . It will reduce our work in arranging the mediaitems , notification etc.
💉DaggerHilt : Dependency Injection is so much helpful and saves us a lot code in injecting the dependencies . Dagger Hilt is the simplest dagger library that comes from google . If you never used dagger hilt , Just use it ,It is awesome
📱SplashScreen : have you ever noticed when you open an app like twitter , youtube . When you open that app they displays their logo first, the reason of using a SplashScreen is u can load or do some background work while opening the app and the user will not see any blank screen . Instead they see your logo.
😍Material3 UI : Material3 is the new design pattern. Used mostly in google apps . It contains predefined fontstyles, colors and supports dynamic color from Android 12
🚀Coroutines : Coroutines are threads but on steriods ! They are light weight , super fast . In this we use coroutines for super fast and lag free search operations and displaying dynamically the list of songs .
In this app we use MVVM Architecture
MVVM Stands for
M-Model
V-View
VM-ViewModel
Basically we use this architecture for mainting our code clean and organized . This architecture is highly recommend by google. In simple words Model stands for the type of data View is our UI and ViewModel contains the business logic between ui and model and other logic we need
- Copy the url of the project and clone it in the Android Studio