मैं एक प्री-सेट फ़ाइल को पढ़ने और लिखने में खुश हूं, और मैन्युअल रूप से एक सूचीदृश्य पॉप्युलेट कर सकता हूं, लेकिन मुझे आशा है कि एक आधिकारिक (या नहीं) फ़ाइलब्रोसर मैं चूक गया हूं, या उपयोगकर्ता को प्रस्तुत करने के लिए अन्य सुरुचिपूर्ण समाधान एक निर्देशिका सूची, और उन्हें एक फ़ाइल का चयन करने दें। ListView को बाह्य संग्रहण से एंड्रॉयड में सभी संगीत फ़ाइलों या दस्तावेज़ों फ़ाइलें हों या वीडियो फ़ाइलें, चित्र, लिस्टिंग:एसडी कार्ड से (निर्देशिका पर) फ़ाइलों की सूची प्राप्त करने का एक अच्छा तरीका क्या है?
7
A
उत्तर
18
final String state = Environment.getExternalStorageState();
if (Environment.MEDIA_MOUNTED.equals(state)) {
File[] files = Environment.getExternalStorageDirectory().listFiles();
} else {
...
}
17
File fileList = new File("/sdcard");
if (fileList != null){
File[] filenames = fileList.listFiles();
for (File tmpf : filenames){
//Do something with the files
}
}
}
किसी अन्य विधि तुम कोशिश कर सकते
+3
ऐसा लगता है कि यह काम करते हैं, लेकिन यह फ़ाइल FileList = नई फ़ाइल ("/ sdcard") से अधिक Environment.getExternalStorageDirectory() उपयोग करने के लिए बेहतर है; यदि इसे "एसडीकार्ड" के अलावा कुछ और कहा जाता है – Chozabu
0
कोड है।
ArrayList<String> filenames;
ArrayAdapter<String> adapter;
// onCreate विधि
songlist = findViewById(R.id.songlist); //songlist is ListView widget
filenames = new ArrayList<>();
getMusic(); // music files funtions
adapter=new ArrayAdapter<>(YourActivity.this, android.R.layout.simple_list_item_1, filenames);
songlist.setAdapter(adapter);
// getMusic() बाह्य संग्रहण से हो रही है और सभी संगीत फ़ाइलें छानने के लिए विधि है
private void getMusic() {
File path = Environment.getExternalStorageDirectory();
String filename ;
Queue<File> files = new LinkedList<>(); //Linklist
files.addAll(Arrays.asList(path.listFiles())); //adding all files of path in linklist
while (!files.isEmpty()){
File file = files.remove();
if (file.isDirectory()){
files.addAll(Arrays.asList(file.listFiles()));
}
else if (file.getName().endsWith(".mp3")){ //filtering files
filename = file.getName(); // according to their extension
filenames.add(filename); //filenames is string ListArray
}
else if (file.getName().endsWith(".ogg")){
filename = file.getName();
filenames.add(filename);
}
else if (file.getName().endsWith(".amr")){
filename = file.getName();
filenames.add(filename);
}
else if (file.getName().endsWith(".wav")){
filename = file.getName();
filenames.add(filename);
}
else if (file.getName().endsWith(".wma")){
filename = file.getName();
filenames.add(filename);
}
else if (file.getName().endsWith(".flac")){
filename = file.getName();
filenames.add(filename);
}
}
}
जैसे (.mp3, .wav) को .your_file_extension
संबंधित मुद्दे
- 1. क्या एसडी कार्ड पर निर्देशिका में फ़ाइलों की संख्या के लिए कोई सीमा है?
- 2. एसडी कार्ड
- 3. एसडी कार्ड
- 4. एसडी कार्ड
- 5. एसडी कार्ड
- 6. एसडी कार्ड
- 7. निर्देशिका प्राप्त करने का सबसे अच्छा तरीका क्या है जिसमें से एक असेंबली
- 8. एसडी कार्ड
- 9. एसडी कार्ड
- 10. प्रदर्शन एसडी कार्ड
- 11. एसडी कार्ड
- 12. एंड्रॉइड एसडी कार्ड व्यवहार
- 13. एंड्रॉइड: एसडी कार्ड पर निर्देशिका कैसे बनाएं और फ़ाइलों को/res/raw से कॉपी करें?
- 14. एसडी कार्ड
- 15. एसडी कार्ड
- 16. निर्देशिका खाली करने का सबसे अच्छा तरीका क्या है?
- 17. एसडी कार्ड
- 18. एसडी कार्ड से फ़ाइल को
- 19. एसडी कार्ड
- 20. एंड्रॉइड एसडी कार्ड मुद्दे
- 21. एसडी कार्ड लिखने का प्रदर्शन
- 22. मोंगोडीबी: सभी अद्वितीय टैगों की सूची प्राप्त करने का एक अच्छा तरीका क्या है?
- 23. कोई एसडी कार्ड
- 24. मैं एसडी कार्ड
- 25. एंड्रॉइड: बाहरी एसडी कार्ड
- 26. एक kqueue() के साथ निर्देशिका में परिवर्तनों की निगरानी करने का सबसे अच्छा तरीका क्या है?
- 27. रूबी पर रूबी में खाली अस्थायी निर्देशिका प्राप्त करने का सबसे अच्छा तरीका क्या है?
- 28. मेरे एसडी कार्ड से प्रदर्शित आइकन
- 29. एंड्रॉइड बैकअप और एसडी-कार्ड
- 30. स्ट्रीम एंड्रॉयड logcat एक एसडी कार्ड
अनुसार क्रमबद्ध स्ट्रिंग मूल्यों को बदल! मुझे आवश्यक आदेश थे: path.list(); path.listFiles(); और dialog.setItems (पथसूची); - सूचीदृश्य की भी आवश्यकता नहीं थी :) – Chozabu