Skip to main content

Results: Coding an Android music player in a weekend

The full story with the challenge I gave myself can be read here: original post

TL;DR - I had no experience coding for the android but the API looked easy enough that I challenged myself to write a music player in a weekend.  I posted throughout the weekend showing my progress.  Here is a video of the end results.  I spent roughly 26 hours coding 1250 lines of code.
 
Note: I listen to more than just metal. The scanner only happened to get the portion of my collection that was death metal before I stopped the scan.


At the beginning of the challenge I gave myself the following goals:

Primary goals:
-Play any song that is a supported format (obviously) - DONE
-Basic controls: play/pause/fast forward/rewind/next/prev - DONE
-Create/View a simple playlist - DONE
-Ability to browse artists - DONE
-Ability to browse albums - DONE
-Show basic info on screen while playing - DONE


I would have to say this challenge was a success.  I didn't get around to doing any of my secondary goals because I decided to go out on Saturday night instead of staying in to code.  I plan on continuing development on this and eventually making it available on the market.

You can download what I've done so far here: gmmp-0.03-alpha.apk  It will crash if the orientation changes while the app is running, but otherwise it runs quite well on my Archos and in the emulator.  I recommend playing with it in an emulator because I honestly have no idea how it works with phones or any device not running 1.6.  Don't blame me if it messes up your device.  You have been warned.

Popular posts from this blog

GMMP 1.3 Released! ReplayGain, cuesheet, bookmarking, 6 new skins, and much more.

After about a month and a half of hard work, 1.3 is finally available for download on google play and this blog.  I've gone with the pendulum screenshot for the main image for a long long time and with the new album art as a background feature I decided to pick a new song to use. Changelog: 1.3.0 (06/14/12): New Features: -Added ReplayGain support -Added single file cuesheet support (.cue files) -Added manual bookmark option to the now playing menu -Added auto bookmarking options (Preferences -> Audio -> Bookmarks) -Added option to remove a song from the active playlist after it is played (Prefs -> Playlist -> Remove After Played) -Added dsp limiter with customizable attack and release settings (reduces audio distortion and clipping) -Added EQ and Limiter toggle buttons to the equalizer view -Added 9 new EQ presets: Bass Max, Bass & Treble, Classical, Techno, Club, Reggae, Soft, Rap, and Metal -Notification controls added to 3.0+ -The current play

3.4.0

Plans for 3.4 changed a bit when google announced they will be hiding apps on newer versions of android if they dont target the newer sdks.  GMMP always tries to target one of the more recent versions of android, but the unlocker has no need for that since its essentially just a license key.  As of May 1st the unlocker will be hidden on newer versions of android to those who have not already purchased.  Because of this, the focus of 3.4 was to get in app purchases working to allow users to buy the full version after May 1st.  There is a new 'Purchase' section in the settings where the unlocker can now be purchased. One other change in 3.4 is the support for the Android 13+ media controls.  They changed around how to customize them, so that is reflected in a new 'Media Controls' section of the settings. The language can also be changed for just GMMP via the system settings The changelog itself is fairly small but I did a large update of all the libraries / dependencies t

3.4.5 Release / Preview of 3.5

3.4.5 was just uploaded to google play and should be rolling out over the next few days. Changelog: 3.4.5 (2023-08-29): Added Dutch translation Fixed crash editing rules in rule groups Disable IAP donation options if Full Version Unlock has not been purchased to prevent confusion Other changes since 3.4.0: Added Finnish translation and updated other translations Added donation options to the purchase settings area Fixed crash when trying to bookmark / unbookmark currently playing song Fixed Finnish not showing up in the language select Fixed other various crashes Fixed issue where rating or editing tags could potentially split the album Fixed some of the lists/grids not refreshing after changes 3.5 Preview I've been working on some new UI options planned for 3.5.  So far I've finished a new gradient background option for now playing.  There are 2 different styles (linear / radial) with 2 different color sources for each.  One source will take from the theme colors, the other st