2012-09-11 45 views
5

我想開發一個僅使用離線數據庫的android英語詞典應用程序。因此,我的意思是說,它不必像WordWeb或其他類似的在線字典中重定向。有人知道我應該怎麼做來存儲我的話嗎?我正在考慮使用SQLite,因爲它是移動的。但如果有人已經做了或做了我想做的事情,你能給我一些專家建議嗎?android辭典應用程序與離線數據庫

回答

5

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

我用從developer.android.com此代碼。 希望它能幫助你。

編輯:這頁已不再可用,但例如本身是在Github上here.

+0

此示例不可用。有沒有機會獲得它的副本。感謝您的幫助 – Channa

+0

對不起@Chann永遠不要擔心這可以從存儲庫中刪除。 –

+2

在git中發現它。謝謝你的回覆https://github.com/android/platform_development/tree/master/samples/SearchableDictionary – Channa

1

我會使用SQLite,這可能是最簡單和最直接的方式在Android上做到這一點。當然,這種解決方案的複雜性取決於您的確切需求。如果你只需要一個非常簡單的字典,那麼你可以用一個簡單的數據庫模式來解決基本查詢問題。

想到的另一件事是Trie數據結構,您可能需要查看:http://en.wikipedia.org/wiki/Trie#Dictionary_representation。但是,使用它可能不值得讓這個麻煩,我猜測SQLite解決方案的性能已經足夠滿足您的需求了。

0

嘗試Google API示例,我知道他們有一個Dictionary應用程序。我很確定它也處於脫機狀態。我不得不使用脫機緩存構建某些東西,我使用JAVA的優秀XML解析器將東西加載到SQLite數據庫中。當用戶有互聯網連接時,它會下載一個新的XML並使用它來更新數據庫。但是,您可以將任何類型的文件存儲在應用程序中。

http://developer.android.com/tools/samples/index.html 我說的樣本叫做Searchable Dictionary。

0

你的主要問題是指定什麼基本將存儲你的字典。

有很多的由Android提供的方式來存儲數據等類保存在

  • SharedPreferences
  • 文件設備的internal storageexternal storage
  • SQLite database
  • 你也可以創建一個靜態數據庫並將其存儲在您的assets文件夾中,如this後文章中所述。

    此外,您可以檢查android-samples的可搜索詞典,這是實現搜索應用程序的一個很好的示例,並且還介紹了一些存儲數據的技術。

    1

    我已經這樣做是爲了我的字典:

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

    您可以轉換您簡單的數據庫, tblLanguage1 [word,翻譯] tblLanguage2 [word,翻譯]

    to(SQLite格式[摘自emula tor],然後將這個已轉換的SQLite數據庫與您的應用程序脫機連接)。

    搜索速度快。

    與用途:DB在仿真器中創建狀結構: 表:

    lang1_Content lang1_segments lang1_segdir

    使用這個,而不是簡單的。

    +0

    請鏈接到源代碼。 – Wally

    0

    最好的方法是 - 將文件中的數據保存在json文件中,並保存在網絡上,或者您也可以在googledrive或dropbox上將其上傳並公開發布,之後用戶將首先打開該應用程序時間,下載json文件並將數據從json插入到sql lite db中。這樣,您就可以使用sql lite進行脫機數據。

    相關問題