Activity 搜索 Android 存储中的所有音乐文件(或特定扩展名)
Activity to search all music files (or a particular extension) in Android storage
我正在构建一个 Android 应用程序,它以我的自定义 .fire
扩展名的格式写入文件。
我需要一次访问它们并将它们放在一个 ListView 中。有人可以帮我通过 activity 或异步任务管理器获取它们吗?
您可以编写一个异步任务以从您最初写入它们的文件夹中获取 .fire 文件,并将文件名动态添加到列表视图中。
您可以在异步任务中执行类似的操作:
String state = Environment.getExternalStorageState();
if (Environment.MEDIA_MOUNTED.equals(state)) {
File root = android.os.Environment.getExternalStorageDirectory();
File dir = new File(root.getAbsolutePath() + "/"+FolderWhichContainsyourFiles);
File[] listOfFiles = dir.listFiles();
for (int count = 0; count < listOfFiles.length; count++) {
File file = listOfFiles[count];
if (file.isFile() && file.getName().endsWith(".fire")) {
String fileName = file.getName();
//Here you can dynamically add this name into the ListView
}
}
}
您需要使用ArrayAdapter 并动态地向ArrayAdapter 添加元素。这里有精彩的解释:Dynamically add elements to a listView Android
如果要递归查找文件:
private static List<File> filesList = new ArrayList<File>();
public static List<File> recursiveList(String filePath) {
try {
File[] dir = new File(filePath).listFiles();
for (File item : dir) {
if (item.isDirectory()) recursiveList(item.getAbsolutePath());
else if (item.isFile() && item.getName().endsWith(".fire"))
filesList.add(item);
}
return filesList;
} catch (Exception e) {
return null;
}
}
并检索 activity 中的文件:
List<File> files = recursiveList("/sdcard/Music/");
for (File file : files)
adapterFilesList.add("" + file.getName());
我正在构建一个 Android 应用程序,它以我的自定义 .fire
扩展名的格式写入文件。
我需要一次访问它们并将它们放在一个 ListView 中。有人可以帮我通过 activity 或异步任务管理器获取它们吗?
您可以编写一个异步任务以从您最初写入它们的文件夹中获取 .fire 文件,并将文件名动态添加到列表视图中。
您可以在异步任务中执行类似的操作:
String state = Environment.getExternalStorageState();
if (Environment.MEDIA_MOUNTED.equals(state)) {
File root = android.os.Environment.getExternalStorageDirectory();
File dir = new File(root.getAbsolutePath() + "/"+FolderWhichContainsyourFiles);
File[] listOfFiles = dir.listFiles();
for (int count = 0; count < listOfFiles.length; count++) {
File file = listOfFiles[count];
if (file.isFile() && file.getName().endsWith(".fire")) {
String fileName = file.getName();
//Here you can dynamically add this name into the ListView
}
}
}
您需要使用ArrayAdapter 并动态地向ArrayAdapter 添加元素。这里有精彩的解释:Dynamically add elements to a listView Android
如果要递归查找文件:
private static List<File> filesList = new ArrayList<File>();
public static List<File> recursiveList(String filePath) {
try {
File[] dir = new File(filePath).listFiles();
for (File item : dir) {
if (item.isDirectory()) recursiveList(item.getAbsolutePath());
else if (item.isFile() && item.getName().endsWith(".fire"))
filesList.add(item);
}
return filesList;
} catch (Exception e) {
return null;
}
}
并检索 activity 中的文件:
List<File> files = recursiveList("/sdcard/Music/");
for (File file : files)
adapterFilesList.add("" + file.getName());