Java 如何索引android设备上的所有文件
我正在开发一个应用程序,它将设备上所有文件的路径索引到sql数据库中 稍后我将使用该数据库进行快速搜索 到目前为止,我正在使用库获取sd卡中的所有文件和目录Java 如何索引android设备上的所有文件,java,android,search,indexing,Java,Android,Search,Indexing,我正在开发一个应用程序,它将设备上所有文件的路径索引到sql数据库中 稍后我将使用该数据库进行快速搜索 到目前为止,我正在使用库获取sd卡中的所有文件和目录 Collection<File> sdCardFiles = org.apache.commons.io.FileUtils.listFilesAndDirs(new File(sdCard), new RegexFileFilter(".*"), TrueFileFilter.TRUE); Collection sdCa
Collection<File> sdCardFiles = org.apache.commons.io.FileUtils.listFilesAndDirs(new File(sdCard),
new RegexFileFilter(".*"),
TrueFileFilter.TRUE);
Collection sdCardFiles=org.apache.commons.io.FileUtils.listFilesAndDirs(新文件(sdCard)),
新的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();
}
}
}
List temp=new ArrayList();
用于(文件:sdCardFiles){
temp.add(file.getPath());
如果(温度大小()>10){
db.插入束(温度);
温度清除();
}
}
}
1.是否有其他方法可以减少Cpu、Ram和时间的使用
2.大多数文件都有相同的父目录,所以我们可以在这种情况下使用类似Trie的东西吗
3.如何通过MediaStore执行此操作
我在三星J7 prime上测试了这段代码,它消耗了15mb的Ram和5%的cpu(最高级别)来索引大约40000个文件“我正在开发一个应用程序,在sql数据库中索引设备上所有文件的路径”——已经有一个设备上所有文件的数据库,名为
MediaStore
。它存在于每个安卓设备上。你为什么要再建一个?哎呀,我不知道。非常感谢@commonware“我正在开发一个应用程序,它可以索引sql数据库中设备上所有文件的路径”——设备上已经有一个所有文件的数据库,名为MediaStore
。它存在于每个安卓设备上。你为什么要再建一个?哎呀,我不知道。非常感谢@commonware