0

我正在工作 n 同时学习在 android 中编写代码
我遇到了这个 mediastore,它返回有关存储在卡上的所有 mp3 文件的所有详细信息(内部和外部)。
但是这种方法非常非常慢
我猜这就是默认音乐应用程序中已经实现的方法
难怪它有时无法找出所有文件......

我正在考虑为此目的实现更快的搜索算法,但是对这些算法的初始要求感到困惑
1:我想实现二进制搜索方法(Divide n Conquer)来查找文件,但是该算法需要有关要扫描的文件数量。我如何得到它?
2:我想为每个划分的集群实现单独的线程
。但是真的可以吗?

请帮助我!

最后一个问题:poweramp 怎么能这么快就找到所有文件,
我的 android 卡上有大约 200 首歌曲,但是这个应用程序只需要几秒钟就可以全部找到!!
真的很纳闷!!

4

1 回答 1

1

试试这个代码:

转到那里的下载和 DCIM 文件夹,您可以使用此命令获取所有文件,如果您想过滤文件,那么这里是链接

 Process process = null;            
    try {
     process = Runtime.getRuntime().exec("ls -l");


    } catch (IOException ez) {

     ez.printStackTrace();
    }
    BufferedReader in = new BufferedReader(new InputStreamReader(process.getInputStream()));

    StringBuilder total = new StringBuilder();
    String line;
    try {
     while ((line = in.readLine()) != null) {

       System.out.println("line: "+line.toString());
         total.append(line);
     }
    } catch (IOException ex) {

     ex.printStackTrace();
    }
     System.out.println("Command Output: "+total.toString());
于 2013-10-30T06:44:50.017 回答