我是Android和Lucene
的新手。我可以使用Lucene
搜索在android list view
.我已经尝试导入package 2.3.2
,也使用了库中的jar
文件。但是,在SearchFiles.java
中有一个错误是:The type java.rmi.Remote cannot be resolved. It is indirectly referenced from .class files.
个
有一个可能性,这个文件不存在的Android.这就是问题所在吗
6条答案
按热度按时间k97glaaz1#
您可能希望使用SQLite中称为FTS3的原生Full Text Search功能,该功能在Android中可用,并且速度更快(因为它是原生运行的),并且比Dalvik VM下的Java Lucene实现使用更少的内存。
i2loujxw2#
我已经成功地使用Lucene 3.3进行了非常简单的搜索,它工作正常。但是,我不知道内存使用的影响是什么。在3.3版本中,不存在对RMI的依赖。如果你需要2.3.2并且你有源代码,你可以把Lucene从RMI依赖中解放出来(我读到过一个人成功地做到了这一点)。
g6ll5ycj3#
1.从类“org.apache.lucene.search.Searchable”中删除“extendsjava.rmi.Remote”
1.删除类“org.apache.lucene.search.RemoteSearchable”
p4tfgftt4#
Android不是Java --它不提供所有标准的Java API(只要看看Android参考,java.rmi不在那里)。然而,导入几乎所有纯java的东西都是可能的(如果你有足够的内存)。你可以尝试从jar中删除不必要的类,这会导致类加载问题,但这是一项很大的工作。
bfhwhh0e5#
我认为这个演示应用程序将为您工作。
https://github.com/weiweiwang/quickdialer
它有:
js4nwp546#
此存储库修改Lucene 7.3.0以便在Android 8.0中使用:https://github.com/texophen/lucene-android
如果它不起作用,你可以修改org.apache.lucene.util.AttributeFactory并将你的类型添加到下面的方法中:
字符串