java - What is MediaStore? And how can I use this to retrieve music -
i'm new java
, i'm making simple application need collect .mp3 files in sdcard. i'm not sure on how can achieve this. have researched on mediastore
on official android website there isn't information stating is, does, how can implement it. , there weren't examples useful.
so question how can implement mediastore
method retrieve .mp3 files device, how supposed build new class
? mediastore
, do? relates mediastore
.
thank developers.
method im using retrieve files - reason doesn't import music files.
public class songsmanager { // sdcard path final string media_path = ("/sdcard/music"); private arraylist<hashmap<string, string>> songslist = new arraylist<hashmap<string, string>>(); // constructor public songsmanager(){ } /* * function read mp3 files sdcard * , store details in arraylist */ public arraylist<hashmap<string, string>> getplaylist(){ file home = new file(media_path); if (home.listfiles(new fileextensionfilter())!=null && home.listfiles(new fileextensionfilter()).length > 0){ (file file : home.listfiles(new fileextensionfilter())) { hashmap<string, string> song = new hashmap<string, string>(); song.put("songtitle", file.getname().substring(0, (file.getname().length() - 4))); song.put("songpath", file.getpath()); // adding each song songlist songslist.add(song); } } // return songs list array return songslist; } /* * following class filters files have extension of .mp3||.mp3 */ class fileextensionfilter implements filenamefilter { public boolean accept(file dir, string name) { return (name.endswith(".mp3") || name.endswith(".mp3")); } } }
logcat -
04-07 22:35:44.133: e/androidruntime(31699): caused by: java.lang.securityexception: permission denial: reading com.android.providers.media.mediaprovider uri content://media/external/audio/media pid=31699, uid=10154 requires android.permission.read_external_storage, or granturipermission() 04-07 22:35:44.133: e/androidruntime(31699): @ android.os.parcel.readexception(parcel.java:1465) 04-07 22:35:44.133: e/androidruntime(31699): @ android.database.databaseutils.readexceptionfromparcel(databaseutils.java:185) 04-07 22:35:44.133: e/androidruntime(31699): @ android.database.databaseutils.readexceptionfromparcel(databaseutils.java:137) 04-07 22:35:44.133: e/androidruntime(31699): @ android.content.contentproviderproxy.query(contentprovidernative.java:420) 04-07 22:35:44.133: e/androidruntime(31699): @ android.content.contentresolver.query(contentresolver.java:461) 04-07 22:35:44.133: e/androidruntime(31699): @ android.content.contentresolver.query(contentresolver.java:404) 04-07 22:35:44.133: e/androidruntime(31699): @ com.example.android.musicplayer.musicretriever.prepare(musicretriever.java:61) 04-07 22:35:44.133: e/androidruntime(31699): @ com.example.android.musicplayer.preparemusicretrievertask.doinbackground(preparemusicretrievertask.java:38) 04-07 22:35:44.133: e/androidruntime(31699): @ com.example.android.musicplayer.preparemusicretrievertask.doinbackground(preparemusicretrievertask.java:1) 04-07 22:35:44.133: e/androidruntime(31699): @ android.os.asynctask$2.call(asynctask.java:288) 04-07 22:35:44.133: e/androidruntime(31699): @ java.util.concurrent.futuretask.run(futuretask.java:237) 04-07 22:35:44.133: e/androidruntime(31699): ... 4 more
Comments
Post a Comment