Google ha deciso di aggiornare la sample app “Universal Android Music Player“, che è stata riscritta usando Kotlin ed è arrivata ora alla v2. Le sample applications sono una risorsa molto importante che Google mette a disposizione degli sviluppatori di app per Android, che spiegano ed esemplificano come implementare le varie feature dell’OS.

Universal Android Music Player (abbreviata come UAMP), è una sample app molto apprezzata, che Google descrive come “a favorite on GitHub for music app developers with over 9,500 stars and 3,000 forks.” Big G ne ha anche definito la finalità in questi termini:

“The goal of this sample is to show how to implement an audio media app that works across multiple form factors and provide a consistent user experience on Android phones, tablets, Android Auto, Android Wear, Android TV, Google Cast devices, and with the Google Assistant.”

Google ha ravvisato la necessità di aggiornare UAMP, la cui prima versione risaliva ormai a quattro anni fa, perché “Android development has changed significantly“, con miglioramenti ad ExoPlayer, l’introduzione di Architecture Components e Kotlin.

La maniera migliore per integrare le nuove feature e fornire un valido modello agli sviluppatori è stata individuata nella completa riscrittura di UAMP in Kotlin. Così oggi Google ha annunciato Universal Android Music Player v2.

The UI is built around ViewModels and LiveData. Playback, and particularly integration with MediaSessionCompat, was vastly simplified by utilizing the MediaSession extension of ExoPlayer”, si legge sull’Android Developers Blog, che riporta anche l’aggiunta di nuove canzoni di The Kyoto Connection e Kai Engel.

Alcune feature della prima versione non sono ancora state integrate, è il caso di Android TV con la Leanback library e della riproduzione da remoto tramite Google Cast. La versione precedente di UAMP è comunque ancora presente su GitHub. Google, infine, si rimette ai feedback degli sviluppatori per l’aggiunta di nuove feature (“We are considering offline playback, improving the integration with Android Auto, and using the upcoming Navigation components of Jetpack for the UI”).