An Android music streaming application developed as part of the CI660 - Advanced Mobile Application Development module. The app allows users to browse and play songs and albums with a seamless and responsive user interface using Firebase Realtime Database.
- 🔥 Advanced UI with Material Design
- 🎶 Browse and filter songs
- 📂 View albums and their tracks
▶️ Music playback with play/pause, next/previous, and seek bar- ☁️ Firebase Realtime Database integration
- 🔄 Seamless navigation using ViewPager2 and Fragments
- 📸 Glide and Picasso for image handling
The app follows the MVC (Model-View-Controller) architectural pattern:
- Model: Handles data fetching from Firebase
- View: Includes all fragments displaying UI (SongListFragment, AlbumListFragment, etc.)
- Controller: Controls navigation, playback logic, and fragment communication
Home | Album List | Music Player |
![]() |
![]() |
![]() |
Performed both functional and device testing including:
- Bundle passing and validation
- Array operations and error handling
- Device testing on Android emulator and physical devices
- Layout bound and refresh rate analysis
- Java
- Firebase Realtime Database
- Android Studio
- Glide & Picasso
- ViewPager2 & FragmentStateAdapter
- MediaPlayer API
Implemented using ViewPager2
and TabLayoutMediator
for fragment switching:
- Songs List
- Music Player
- Albums List
- Album View
- 🔍 ML-based song recommendations
- 🎤 Lyrics integration
- 📅 Artist tour/concert data
- 🎧 Enhanced custom API integration
- Agile methodology
- Feature-focused development
- Frequent backups using version control
- Iterative testing and feedback
Vickshan Vicknakumaran
University of Brighton