2011-10-19 8 views
7

私はアンドロイドを新しくしました。Luceneです。アンドロイドでの検索にLuceneを使用することはできますか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のLucene

このファイルdoesntのは、Androidのために存在している可能性があります。これは問題ですか?

答えて

4

私は本当に簡単な検索のためにLucene 3.3をうまく使いました。しかし、私はメモリ使用の影響がどのようなものか分かりません。 3.3では、RMIからの依存関係はありません。 2.3.2が必要でソースコードがあれば、LuceneをRMIの依存から解放することができます(これを成功させた人について読んだことがあります)。

+1

。私はluceneを初めて使い、アンドロイドプロジェクトでluceneをインポートする方法を知らない。 – codemaniac

+0

あなたはアンドロイドでluceneに関連するコードを共有できますか?アンドロイドでluceneを使い始めたいと思います。私のような人には役に立ちます – Prabha1

3

Androidはjavaではありません - それはすべてのスタンダードjava apisを提供していません(アンドロイド 参照、java.rmiはありません)。しかし、純粋なJava(あなたが十分なメモリを持っている場合)であるほとんどeverrythingをインポートすることは可能です。 jarからクラスローディングの問題を引き起こす不要なクラスを削除しようとするかもしれません。それは多くの作業です。

5
  1. 削除クラス "org.apache.lucene.search.Searchable"
  2. 削除クラス "org.apache.lucene.search.RemoteSearchable"
から "java.rmi.Remoteを拡張"
+0

私はどのように削除しますか?私はすべてのクラスファイルを持っているので。逆コンパイルと再コンパイルを試みましたが、動作しませんでした。 – dhpratik

9

というネイティブFull Text Search機能を代わりにSQLiteという名前で使用することもできます。これはAndroidで使用でき、Dalvik VMのJava Lucene実装よりもメモリ使用量が少なくて済みます。

+1

ネイティブで実行することは、特にファイルシステムでバックアップされたSQLiteデータベースを使用している場合は、必ずしも高速であるとは限りません。これを確認するためにテストを実行しましたか? –

3

私はこのデモアプリケーションがあなたのために働くと思います。

それは持っている:あなたのコードを共有してくださいすることができ

  • 速いT9検索
  • サポート5000人の連絡先
  • 500 calllogs