2013-04-11 64 views
1

我已經構建了一個使用sqlite3 fts3虛擬表的android字典應用程序。我希望能夠使用fts3 snippet函數執行搜索,如下所示:在android字典應用中使用sqlite3 fts3片段功能

SELECT語句(my_dictionary)FROM my_dictionary WHERE my_dictionary MATCH query_string;

我不能得到這樣的搜索與Android上的sqlite3執行 - 我得到的錯誤消息有關我通過sqlite在我的光標的列數。我試圖通過使用rawQuery執行此搜索,即明確寫出查詢;並通過將遊標查詢的'String []列'變量分配給'snippet(my_dictionary)'。

所以我的問題是:必須android上的sqlite光標包含所有列才能正確執行(很確定答案是'是')?有沒有人有過一個fts3 snippet()搜索在android上正常工作?如果是這樣,你怎麼做到的?

感謝您對這個相當晦澀的問題的任何幫助。

+0

什麼是確切的錯誤信息? – 2013-04-12 11:15:38

+0

04-12 09:25:51.383:E/CursorWindow(406):字段時隙0,3的錯誤請求。 numRows = 24,numColumns = 1 04-12 09:25:51.404:E/AndroidRuntime(406):java.lang.IllegalStateException:從第0行獲取字段插槽第3行失敗 – user2271541 2013-04-12 14:27:22

+0

上面的蹩腳格式道歉^^^ – user2271541 2013-04-12 14:33:35

回答

0

更新 - 好吧,我已經得到了這個工作。這個錯誤的直接原因是我沒有改變我的代碼操作/格式化光標內容的方式出門到我的列表視圖適配器。我正在發送一個專欄,而期待幾個。咄。

因此,如果有人真的想知道,你可以CAN實際上使用fts3 snippet函數與android sqlite。是的,標準的sqlite3語法工作得很好。不管它對於顯示搜索結果是否有用都是另一回事。