Ứng dun nghe nhạc online, offlline, lấy dữ liệu từ api. Có thể tạo playlist nhạc riêng, tải bài hát yêu thích
Note : Api đã không còn sử dụng được nữa
- Minimum SDK level 24
- Kotlin based, Coroutines + Flow for asynchronous.
- Jetpack
- Lifecycle: Observe Android lifecycles and handle UI states upon the lifecycle changes.
- ViewModel: Manages UI-related data holder and lifecycle aware. Allows data to survive configuration changes such as screen rotations.
- DataBinding: Binds UI components in your layouts to data sources in your app using a declarative format rather than programmatically.
- Room: Constructs Database by providing an abstraction layer over SQLite to allow fluent database access.
- Architecture
- MVVM Architecture (View - DataBinding - ViewModel - Model)
- Retrofit2 & OkHttp3: Construct the REST APIs and paging network data.
- Material-Components: Material design components for building ripple animation, and CardView.
- Glide, GlidePalette: Loading images from network.
- Timber: A logger with a small, extensible API.