如何索引Android设备上的所有文件

时间:2017-07-02 20:05:21

标签: java android search indexing

我正在开发一个应用程序,用于索引 sql数据库

中设备上所有文件的路径

稍后我将使用该数据库进行快速搜索

到目前为止,我正在使用apache's common-io库来获取SD卡中的所有文件和目录

Collection<File> sdCardFiles = org.apache.commons.io.FileUtils.listFilesAndDirs(new File(sdCard),
 new RegexFileFilter(".*"),
 TrueFileFilter.TRUE);

然后将它们插入数据库

List<String> temp = new ArrayList<>();
for (File file : sdCardFiles) {
    temp.add(file.getPath());
    if (temp.size() > 10) {
        db.insertBunch(temp);
        temp.clear();
        }
    }
}

1.还有另一种方法可以减少使用Cpu,Ram和Time吗?

2.大多数文件都有相同的父目录,所以我们可以在这种情况下使用像Trie这样的东西吗?

3.如何通过MediaStore

执行此操作

我在三星J7 prime上测试了这个代码,它消耗了15mb Ram和5%cpu(最高级别)来索引大约40,000个文件

0 个答案:

没有答案