A music player for Android that is catered for albums
Find a file
ika 93b2b83009 Remove stop indicator dot from seek bar
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-31 11:40:56 +02:00
app Remove stop indicator dot from seek bar 2026-03-31 11:40:56 +02:00
gradle Persist metadata cache to Room so subsequent launches skip MediaMetadataRetriever scan 2026-03-29 15:57:17 +02:00
.gitignore Initial implementation of Beetnik Android 2026-03-29 15:39:14 +02:00
build.gradle.kts Persist metadata cache to Room so subsequent launches skip MediaMetadataRetriever scan 2026-03-29 15:57:17 +02:00
gradle.properties Initial implementation of Beetnik Android 2026-03-29 15:39:14 +02:00
gradlew Initial implementation of Beetnik Android 2026-03-29 15:39:14 +02:00
LICENSE Add BSD 3-Clause License 2026-03-30 11:30:26 +02:00
README.md doc 2026-03-30 15:11:05 +02:00
settings.gradle.kts Initial implementation of Beetnik Android 2026-03-29 15:39:14 +02:00

Beetnik Android

A music player for Android that is catered for albums

Features

  • Browse by album — 3-column grid, grouped by artist
  • Browse by artist — alphabetical list, tap to see all albums
  • Recently added — albums sorted by date added
  • Random — shuffled grid; tap the tab again to reshuffle
  • Search — filters albums or artists in real time
  • Now playing bar — album art, track title, seek bar, prev/play/next
  • Album detail — track list with disc headers for multi-disc albums; tap a track to play it
  • Persistent cache — metadata is stored in a Room database so subsequent launches are instant

Requirements

  • Android 8.0 (API 26) or later
  • A folder of audio files (MP3, FLAC, OGG, M4A, Opus, WAV)

Getting started

  1. Open the app and tap Settings
  2. Pick your music folder — the app will scan and cache all tracks
  3. Browse, tap an album to open it and start playing

Building

./gradlew assembleDebug
adb install -r app/build/outputs/apk/debug/app-debug.apk
adb shell am start -n dev.beetnik/.MainActivity

Stack

Language Kotlin
UI Jetpack Compose + Material 3
Player Media3 ExoPlayer + MediaSessionService
Storage Room (SQLite)
Image loading Coil
Min SDK 26 (Android 8.0)
Target SDK 35 (Android 15)

Icon

Vinyl record icon from Material Design Icons, licensed under Apache 2.0.