Skip to main content

Accessing the data

At first when displaying the data from the media store I was basically doing a query and iterating the results to populate an ArrayList which got fed into the ListView. Something like this:


//--------------------------------------------------------------------------------------------------------------

cursor = managedQuery(Audio.Albums.EXTERNAL_CONTENT_URI, new String[] {
     Audio.Albums.ARTIST}, null, null, Audio.Albums.ARTIST + " ASC");

int artist_index = cursor.getColumnIndexOrThrow(Audio.Albums.ARTIST);
       
cursor.moveToFirst();
artist_list = new ArrayList<String>();
do
{
   String artist = cursor.getString(artist_index);
   artist.add(artist);
}
while (cursor.moveToNext());
       
setListAdapter(new ArrayAdapter<String>(this, R.id.def_listitem, artist_list));
//--------------------------------------------------------------------------------------------------------------

After looking into the api more I discovered there is actually a class that does this for you.  Awesome.
So my code is now much shorter

//--------------------------------------------------------------------------------------------------------------
cursor = managedQuery(Audio.Artists.EXTERNAL_CONTENT_URI, new String[] {
     Audio.Artists._ID, Audio.Artists.ARTIST }, null, null, Audio.Artists.ARTIST + " ASC");
        
adapter = new SimpleCursorAdapter(this, R.layout.list_item, m_cursor , new String[] { Audio.Artists.ARTIST }, new int[]{R.id.def_listitem});

setListAdapter(adapter);
//--------------------------------------------------------------------------------------------------------------

I am still unsure which approach I am going to use.  The second way is much cleaner but in order to get the information needed to make the album and song queries I had to extra it from text fields which is pretty ghetto.  Must investigate more.  Now for that beer.

Popular posts from this blog

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 ot...

3.4.9

More fixes.  Check out discord for info on the 3.5 alpha. 3.4.9 (2024-02-14): Fixed tab navigation returning to the wrong view on screen orientation change Fixed queue not being focused on the playing track sometimes while using tab navigation 3.4.8 (2023-12-21): Fixed backup/restore intent receiver not working with IAP unlock Fixed crash sorting playlist contents

3.4.14

Google really messed with alarms and timers for android 14, so 3.4.14 should fix the sleep timer.  You will notice an alarm will show up in your alarms menu when the sleep timer is turned on.  This is the only way to actually get the sleep timer to reliably stop playback on time when your screen is off / phone locked. 3.4.14 (2024-05-17): Sleep timer should now be more reliable on android 14+ 3.4.13 (2024-04-29) Fixed metadata view incorrect sizing in now playing layout 1 3.4.12 (2024-04-23) Updated translations Fixed issues with left and right metadata alignment when no album art Multi artist/genre/composers should now be separated by a comma and space throughout GMMP 3.4.11 (2024-04-16) Added ability to choose whether to crop album art to 1:1 aspect ratio in now playing layout 2 (customize -> album art -> crop to fit) Fixed now playing tab 1:1 aspect ratio album art getting cropped Album art preview pop up should no longer crop art 3.4.10 (2024-03-31) Fixed auto bookma...