2012-09-11 27 views
5

Tôi muốn phát triển một ứng dụng từ điển tiếng Anh trên Android chỉ sử dụng cơ sở dữ liệu ngoại tuyến. Bằng cách đó, tôi có nghĩa là để nói rằng nó không phải được chuyển hướng đến từ điển trực tuyến như WordWeb hoặc tương tự. Có ai biết tôi nên làm gì để lưu trữ lời nói của tôi? Tôi đang nghĩ đến việc sử dụng SQLite vì nó là di động. Nhưng nếu bất cứ ai ở đây đã làm hoặc làm điều gì đó tôi muốn làm, bạn có thể cho tôi một số gợi ý của chuyên gia không?ứng dụng từ điển android với cơ sở dữ liệu ngoại tuyến

Trả lời

5

http://developer.android.com/resources/samples/SearchableDictionary/src/com/example/android/searchabledict/DictionaryDatabase.html

Tôi đã sử dụng mã này từ developer.android.com. Hy vọng nó cũng sẽ giúp bạn.

EDIT: Trang này là không còn nữa, nhưng ví dụ bản thân là trên Github here.

+0

mẫu này không có sẵn. Có cơ hội nào bạn có bản sao của nó không. đánh giá cao sự giúp đỡ của bạn – Channa

+0

Xin lỗi @Chann Không bao giờ sợ rằng điều này có thể bị xóa khỏi kho lưu trữ. –

+2

tìm thấy nó trong git. cảm ơn cho trả lời https://github.com/android/platform_development/tree/master/samples/SearchableDictionary – Channa

1

Tôi muốn sử dụng SQLite, đó có thể là cách dễ nhất và đơn giản nhất để thực hiện trên Android. Tất nhiên sự phức tạp của giải pháp này phụ thuộc vào nhu cầu chính xác của bạn. Nếu bạn chỉ cần một từ điển thực sự đơn giản, thì bạn có thể lấy đi một lược đồ db đơn giản với các truy vấn cơ bản.

Một điều khác cần lưu ý là cấu trúc dữ liệu Trie, bạn có thể muốn xem xét điều đó: http://en.wikipedia.org/wiki/Trie#Dictionary_representation. Nhưng nó có lẽ sẽ không có giá trị rắc rối để kéo này bằng cách sử dụng này, tôi đoán rằng hiệu suất của các giải pháp SQLite là quá đủ cho nhu cầu của bạn.

0

Hãy thử các mẫu Google API, tôi biết họ có ứng dụng từ điển. Tôi khá chắc chắn nó cũng đang ngoại tuyến. Tôi đã phải xây dựng một cái gì đó với bộ đệm ẩn, tôi đã sử dụng trình phân tích cú pháp XML tuyệt vời của JAVA để tải mọi thứ vào cơ sở dữ liệu SQLite. Khi người dùng có kết nối internet, nó sẽ tải xuống một XML mới và sử dụng nó để cập nhật cơ sở dữ liệu. Tuy nhiên, bạn có thể lưu trữ bất kỳ loại tệp nào với ứng dụng của mình.

http://developer.android.com/tools/samples/index.html Mẫu tôi đang nói đến được gọi là Từ điển có thể tìm kiếm.

0

Vấn đề chính của bạn là chỉ định những gì cần thiết sẽ lưu trữ từ điển của bạn.

Có rất nhiều cách khác nhau được cung cấp bởi Android để lưu trữ dữ liệu của bạn như vậy như:

  • SharedPreferences
  • tập tin được lưu trong thiết bị của internal storage hoặc external storage
  • SQLite database
  • Bạn cũng có thể tạo ra một cơ sở dữ liệu tĩnh và lưu trữ nó trong thư mục assets của bạn như được mô tả trong this bài đăng.

    Ngoài ra, bạn có thể kiểm tra từ điển có thể tìm kiếm từ android-samples, đây là một ví dụ tốt về triển khai tìm kiếm ứng dụng của bạn và cũng đã mô tả một số kỹ thuật lưu trữ dữ liệu.

    1

    Tôi đã làm điều này tới các từ điển của tôi:

    https://play.google.com/store/apps/developer?id=e-Biene%20DEV&hl=en

    Bạn có thể thực hiện chuyển đổi cơ sở dữ liệu đơn giản của bạn , tblLanguage1 [từ, bản dịch] tblLanguage2 [từ, bản dịch]

    to (Định dạng SQLite [trích xuất từ ​​emula tor], và sau đó đính kèm db SQLite được chuyển đổi này với Ứng dụng của bạn ngoại tuyến).

    Sẽ nhanh chóng và nhanh chóng để tìm kiếm.

    và sử dụng: DB tạo ra trong giả lập với cấu trúc như sau: Bàn:

    lang1_Content lang1_segments lang1_segdir

    sử dụng này thay vì đơn giản.

    +0

    Vui lòng liên kết với Mã nguồn. – Wally

    0

    Cách tiếp cận tốt nhất là giữ dữ liệu của bạn trong tệp nói trong tệp json và lưu trên web hoặc bạn cũng có thể nâng cấp điều này lên googledrive hoặc dropbox và công khai và sau đó khi người dùng mở ứng dụng trước thời gian, tải về các tập tin json và chèn dữ liệu từ json vào sql lite db.This cách bạn có thể sử dụng sql lite cho dữ liệu offline.

    Các vấn đề liên quan