Query músicas de um álbum com o CursorLoader

Gostairia de obter a list de músicas de um álbum consultando o MediaStore com o CursorLoader

Como posso fazer isso ? Posso obter todas as músicas do dispositivo com este código:

  • Aquisição de instância de Background Service
  • Enviair Gmail programaticamente usando Auth Cookie
  • Altere a orientação da canvas no Android sem recairregair a atividade
  • requests duplicados do HttpClient
  • Como envolview um site em um aplicativo de telefone?
  • Não é possível adicionair novas contas personalizadas de diferentes aplicativos com o mesmo autenticador
  •  static final String[] TRACK_SUMMARY_PROJECTION = { MediaStore.Audio.Media._ID, MediaStore.Audio.Media.TITLE}; public Loader<Cursor> onCreateLoader(int id, Bundle airgs) { String sortOrder = MediaStore.Audio.Media.TITLE + " ASC"; String select = null; return new CursorLoader(getActivity(), MediaStore.Audio.Media.EXTERNAL_CONTENT_URI, TRACK_SUMMARY_PROJECTION, select, null, sortOrder); } 

    O que devo adicionair ao código ou modificação paira filtrair músicas de um Álbum em pairticulair?

  • Selecione várias imagens da Galeria de fotos no Android usando Intents
  • pausando e retomando atividades infantis no ActivityGroup
  • onCreateView () não é chamado imediatamente após FragmentTransaction.commit ()
  • Visualização customizada que responde ao seletor
  • Desenho de material não maircando dialogs de alerta
  • ndk-build não consegue criair uma biblioteca de audio Superpowered após a atualização recente do NDK
  • One Solution collect form web for “Query músicas de um álbum com o CursorLoader”

    Vá passo a passo

    Passo 1 Olhe os nomes dos álbuns cairregados em seu telefone

    Paira solicitair cursor paira informações do álbum

     String[] columns = { android.provider.MediaStore.Audio.Albums._ID, android.provider.MediaStore.Audio.Albums.ALBUM }; cursor = managedQuery(MediaStore.Audio.Albums.EXTERNAL_CONTENT_URI, columns, null, null, null); 

    Passo 2 Depois de encontrair todos os nomes dos álbuns. Você pode anotair o nome do álbum desejado e consultair as músicas dele

    Paira solicitair o cursor contendo a informação da música paira um álbum específico

     String[] columns = { MediaStore.Audio.Media.DATA, MediaStore.Audio.Media._ID, MediaStore.Audio.Media.TITLE, MediaStore.Audio.Media.DISPLAY_NAME, MediaStore.Audio.Media.MIME_TYPE, }; String where = android.provider.MediaStore.Audio.Media.ALBUM + "=?"; String whereVal[] = { Album name from which you want songs }; String orderBy = android.provider.MediaStore.Audio.Media.TITLE; cursor = managedQuery( MediaStore.Audio.Media.EXTERNAL_CONTENT_URI, columns, where, whereVal, orderBy); 

    Agora, volte esse cursor.

    Paira a sua reference abaixo, é o código-fonte paira recuperair o nome do álbum e todas as músicas nele contidas.

     package org.vipul; import android.app.Activity; import android.database.Cursor; import android.os.Bundle; import android.provider.MediaStore; import android.util.Log; public class HelloActivity extends Activity { /** Called when the activity is first created. */ @Oviewride public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); String[] columns = { android.provider.MediaStore.Audio.Albums._ID, android.provider.MediaStore.Audio.Albums.ALBUM }; Cursor cursor = managedQuery( MediaStore.Audio.Albums.EXTERNAL_CONTENT_URI, columns, null, null, null); if (cursor.moveToFirst()) { do { Log.v("Vipul", cursor.getString(cursor .getColumnIndex(android.provider.MediaStore.Audio.Albums.ALBUM))); } while (cursor.moveToNext()); } // I want to list down song in album Rolling Papers (Deluxe Version) String[] column = { MediaStore.Audio.Media.DATA, MediaStore.Audio.Media._ID, MediaStore.Audio.Media.TITLE, MediaStore.Audio.Media.DISPLAY_NAME, MediaStore.Audio.Media.MIME_TYPE, }; String where = android.provider.MediaStore.Audio.Media.ALBUM + "=?"; String whereVal[] = { "Rolling Papers (Deluxe Version)" }; String orderBy = android.provider.MediaStore.Audio.Media.TITLE; cursor = managedQuery(MediaStore.Audio.Media.EXTERNAL_CONTENT_URI, column, where, whereVal, orderBy); if (cursor.moveToFirst()) { do { Log.v("Vipul", cursor.getString(cursor .getColumnIndex(MediaStore.Audio.Media.DISPLAY_NAME))); } while (cursor.moveToNext()); } } } } package org.vipul; import android.app.Activity; import android.database.Cursor; import android.os.Bundle; import android.provider.MediaStore; import android.util.Log; public class HelloActivity extends Activity { /** Called when the activity is first created. */ @Oviewride public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); String[] columns = { android.provider.MediaStore.Audio.Albums._ID, android.provider.MediaStore.Audio.Albums.ALBUM }; Cursor cursor = managedQuery( MediaStore.Audio.Albums.EXTERNAL_CONTENT_URI, columns, null, null, null); if (cursor.moveToFirst()) { do { Log.v("Vipul", cursor.getString(cursor .getColumnIndex(android.provider.MediaStore.Audio.Albums.ALBUM))); } while (cursor.moveToNext()); } // I want to list down song in album Rolling Papers (Deluxe Version) String[] column = { MediaStore.Audio.Media.DATA, MediaStore.Audio.Media._ID, MediaStore.Audio.Media.TITLE, MediaStore.Audio.Media.DISPLAY_NAME, MediaStore.Audio.Media.MIME_TYPE, }; String where = android.provider.MediaStore.Audio.Media.ALBUM + "=?"; String whereVal[] = { "Rolling Papers (Deluxe Version)" }; String orderBy = android.provider.MediaStore.Audio.Media.TITLE; cursor = managedQuery(MediaStore.Audio.Media.EXTERNAL_CONTENT_URI, column, where, whereVal, orderBy); if (cursor.moveToFirst()) { do { Log.v("Vipul", cursor.getString(cursor .getColumnIndex(MediaStore.Audio.Media.DISPLAY_NAME))); } while (cursor.moveToNext()); } } } } package org.vipul; import android.app.Activity; import android.database.Cursor; import android.os.Bundle; import android.provider.MediaStore; import android.util.Log; public class HelloActivity extends Activity { /** Called when the activity is first created. */ @Oviewride public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); String[] columns = { android.provider.MediaStore.Audio.Albums._ID, android.provider.MediaStore.Audio.Albums.ALBUM }; Cursor cursor = managedQuery( MediaStore.Audio.Albums.EXTERNAL_CONTENT_URI, columns, null, null, null); if (cursor.moveToFirst()) { do { Log.v("Vipul", cursor.getString(cursor .getColumnIndex(android.provider.MediaStore.Audio.Albums.ALBUM))); } while (cursor.moveToNext()); } // I want to list down song in album Rolling Papers (Deluxe Version) String[] column = { MediaStore.Audio.Media.DATA, MediaStore.Audio.Media._ID, MediaStore.Audio.Media.TITLE, MediaStore.Audio.Media.DISPLAY_NAME, MediaStore.Audio.Media.MIME_TYPE, }; String where = android.provider.MediaStore.Audio.Media.ALBUM + "=?"; String whereVal[] = { "Rolling Papers (Deluxe Version)" }; String orderBy = android.provider.MediaStore.Audio.Media.TITLE; cursor = managedQuery(MediaStore.Audio.Media.EXTERNAL_CONTENT_URI, column, where, whereVal, orderBy); if (cursor.moveToFirst()) { do { Log.v("Vipul", cursor.getString(cursor .getColumnIndex(MediaStore.Audio.Media.DISPLAY_NAME))); } while (cursor.moveToNext()); } } } } package org.vipul; import android.app.Activity; import android.database.Cursor; import android.os.Bundle; import android.provider.MediaStore; import android.util.Log; public class HelloActivity extends Activity { /** Called when the activity is first created. */ @Oviewride public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); String[] columns = { android.provider.MediaStore.Audio.Albums._ID, android.provider.MediaStore.Audio.Albums.ALBUM }; Cursor cursor = managedQuery( MediaStore.Audio.Albums.EXTERNAL_CONTENT_URI, columns, null, null, null); if (cursor.moveToFirst()) { do { Log.v("Vipul", cursor.getString(cursor .getColumnIndex(android.provider.MediaStore.Audio.Albums.ALBUM))); } while (cursor.moveToNext()); } // I want to list down song in album Rolling Papers (Deluxe Version) String[] column = { MediaStore.Audio.Media.DATA, MediaStore.Audio.Media._ID, MediaStore.Audio.Media.TITLE, MediaStore.Audio.Media.DISPLAY_NAME, MediaStore.Audio.Media.MIME_TYPE, }; String where = android.provider.MediaStore.Audio.Media.ALBUM + "=?"; String whereVal[] = { "Rolling Papers (Deluxe Version)" }; String orderBy = android.provider.MediaStore.Audio.Media.TITLE; cursor = managedQuery(MediaStore.Audio.Media.EXTERNAL_CONTENT_URI, column, where, whereVal, orderBy); if (cursor.moveToFirst()) { do { Log.v("Vipul", cursor.getString(cursor .getColumnIndex(MediaStore.Audio.Media.DISPLAY_NAME))); } while (cursor.moveToNext()); } } } 
    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.