RadioWave
RadioWave is an internet radio player that provides access to a database of over 50,000 stations.
Install / Use
/learn @OneDroid/RadioWaveREADME
Download
<img src="https://raw.githubusercontent.com/OneDroid/.github/220b8baeb925e81df5a3757fa878432bfb645b8c/images/badge/badge-github.svg" alt="Download from GitHub" height="60"> <img src="https://raw.githubusercontent.com/OneDroid/.github/220b8baeb925e81df5a3757fa878432bfb645b8c/images/badge/badge-obtainium.svg" alt="Download from Obtainium" height="60"> <img src="https://raw.githubusercontent.com/OneDroid/.github/ea0fa1a07e882cb4c645931cc0659190a6eb7c69/images/badge/badge-openapk.svg" alt="Download from OpenApk" height="60"> <img src="https://raw.githubusercontent.com/OneDroid/.github/a6eb5b4c079f52c4651f605c79f426712ba4ae3a/images/badge/badge-fdroid.svg" alt="Download from F-droid" height="60">
SHA-256: ED:1E:40:16:F2:4E:35:01:DD:C3:02:6B:AC:A0:4E:C8:C8:21:09:E7:48:EC:9F:81:79:32:80:3A:83:8D:80:F8
⚠️ Note: The iOS version is currently in early access and has not been fully tested yet.
App Features
- Browse popular, trending, or top-voted stations
- Automatic song recognition
- Save Favorite Radios
- Search Radios by name, genre, language, or country
- Display station metadata like country, website, language
- Dual Themes (Dark and Light)
- Play / Pause / Volume Control
- Audio Background Playback Support
- User-Friendly Interface with Easy Navigation
Sponsor this Project
<p align="left"> <a href="https://www.buymeacoffee.com/tawhidmonowar" target="_blank"> <img src="https://img.buymeacoffee.com/button-api/?text=Buy me a coffee&emoji=☕&slug=tawhidmonowar&button_colour=FFDD00&font_colour=000000&font_family=Comic&outline_colour=000000&coffee_colour=ffffff" alt="Buy Me A Coffee" width="250" /> </a> </p>To-Do
- timer #18
- load all stations at once #17
- Minimize API calls #17
- Radio playing notification
- filter to radio search
- lyrics finder for tracks
Screenshots (Android)
|
|
|
|
|
|:-------------------:|:------------------------:|:-----------------:|:-----------------:|
Architecture Overview
This project follows the MVVM (Model-View-ViewModel) design pattern combined with Clean Architecture principles to ensure a scalable, maintainable, and testable structure.

- The Presentation Layer is responsible for rendering the UI and managing user interactions via a unidirectional flow of Intent, Action, and ViewModel.
- The Domain Layer encapsulates business logic in UseCases, This layer is completely independent of other layers, ensuring that it can be reused and tested in isolation.
- The Data Layer abstracts data sources (API, Database) through a Repository pattern.
Technologies and Libraries Used
This project is powered by a combination of awesome technologies and libraries, Below is a list of what’s used.
| Name | Description | |-------------------------------------------|--------------------------------------------------------------| | Kotlin Multiplatform | Simplifies the development of cross-platform projects. | | Compose Multiplatform | Builds responsive, modern user interfaces across multiple platforms. | | Kotlin Serialization | Handles JSON and other formats with built-in serialization support. | | Material3 | Provides Material Design 3 components and guidelines for UI design. | | Datastore Preferences | A modern tool for storing key-value data locally. | | Koin | Manages dependencies in Kotlin apps with minimal effort. | | Ktor Client | Handles HTTP requests and networking in Kotlin. | | Coil | Loads images efficiently, designed specifically for Kotlin and Jetpack Compose. | | Media3 ExoPlayer | Seamless audio and video playback for Android apps. | | SQLite | An embedded SQL database for structured data storage. | | Radio Browser API | A free and open-source API to search and stream online radio stations. |
Contribution Analytics
Contributors
We appreciate everyone who has contributed to this project! Your support and contributions help make RadioWave better every day.
<a href="https://github.com/OneDroid/RadioWave/graphs/contributors"> <img src="http://contrib.rocks/image?repo=OneDroid/RadioWave&max=100&columns=20" alt="Contributors" /> </a>