2011-10-19 22 views
7

Tôi mới sử dụng Android và Lucene. tôi có thể sử dụng Lucene để tìm kiếm trong android list view. Tôi đã thử nhập package 2.3.2 và cũng đã sử dụng các tệp jar trong thư viện. Tuy nhiên, có một lỗi trong SearchFiles.java lỗi là:
The type java.rmi.Remote cannot be resolved. It is indirectly referenced from .class files.Lucene trong Android

Có một khả năng rằng tập tin này doesnt tồn tại cho android. Đây có phải là vấn đề không?

Trả lời

4

Tôi đã sử dụng thành công Lucene 3.3 cho tìm kiếm thực sự đơn giản và nó hoạt động. Tuy nhiên, tôi không biết tác động của việc sử dụng bộ nhớ là gì. Trong 3.3 không có sự phụ thuộc từ RMI. Nếu bạn cần 2.3.2 và bạn có mã nguồn, bạn có thể giải phóng Lucene khỏi sự phụ thuộc RMI (tôi đã đọc về một người đã thành công trong việc thực hiện điều này).

+1

bạn có thể vui lòng chia sẻ mã của bạn. Tôi mới đến lucene và không biết làm thế nào để nhập khẩu lucene trong dự án Android. – codemaniac

+0

Bạn có thể chia sẻ mã của bạn liên quan đến lucene trong android, tôi muốn bắt đầu với lucene trong android.It sẽ hữu ích cho những kẻ như tôi – Prabha1

3

Android không phải là java - nó không cung cấp tất cả standart java apis (chỉ cần nhìn vào android tham chiếu, java.rmi không có ở đó). Tuy nhiên, có thể nhập hầu hết everrything là java thuần túy (nếu bạn có đủ bộ nhớ). Bạn có thể cố gắng loại bỏ các lớp không cần thiết gây ra vấn đề nạp lớp từ các jars - bu nó là rất nhiều công việc.

5
  1. Xoá "kéo dài java.rmi.Remote" khỏi Tập "org.apache.lucene.search.Searchable"
  2. Xóa lớp "org.apache.lucene.search.RemoteSearchable"
+0

làm cách nào để xóa. vì tôi có tất cả các tệp lớp. cũng đã cố gắng dịch ngược và biên dịch lại nhưng không hoạt động – dhpratik

9

Bạn có thể muốn sử dụng tính năng Full Text Search gốc được gọi là FTS3 trong SQLite thay thế, có sẵn trong Android và nó nhanh hơn (vì nó đang chạy tự nhiên) và sử dụng ít bộ nhớ hơn thực thi Lucene của Java dưới Dalvik VM.

+1

Chạy nguyên bản không phải lúc nào cũng có nghĩa là nhanh hơn, đặc biệt nếu sử dụng cơ sở dữ liệu SQLite được hệ thống tập tin sao lưu. Bạn có chạy bất kỳ thử nghiệm nào để xác nhận điều này không? –

3

Tôi nghĩ ứng dụng demo này sẽ hoạt động cho bạn.

Nó có:

  • tìm kiếm T9 nhanh
  • hỗ trợ 5000 địa chỉ liên lạc
  • 500 calllogs