2011-07-28 83 views
0

我有一個使用sqlite數據庫的應用程序。目前我有一個數據庫幫助類,我從我的主類調用訪問數據庫。然後,我暫時將所檢索的項目存儲在光標中。每次我想訪問我的數據庫時,我都必須打開數據庫,創建一個新的遊標,查詢數據庫並將結果添加到遊標中,從遊標中拉出信息,關閉遊標,關閉數據庫,然後顯示到用戶。我想創建一個新的遊標 我正在做sqlite查詢。Android - 引用數據庫中數據的最佳方式

我想知道如果我要改變我的代碼做這樣的事情: 打開DB 存儲所有數據,以光標 接近分貝

然後每當我要訪問我,而不是隻是參考光標的信息無需再次調用db helper類。

或者,它會更有效的數據到一個數組做這樣的事情,而不是存儲: 打開的DB 存儲數據通過光標和存儲數據的光標 循環到一個數組 接近光標 接近分貝

它們之間有什麼區別(處理時間和內存使用),是否有更有效的方法來使用最少的資源?使用數組還是光標更快?我不想浪費CPU時間來調用不必要的函數,或者使用更多的內存來存儲臃腫的對象。

回答

1

在您的活動中,如果您想執行一次選擇查詢並將該數據用於您的活動,那麼您必須從Cursor製作一個ArrayList or Hashmap,然後您必須關閉遊標。

但是,如果您必須多次訪問數據庫,並且通過執行查詢得到不同的結果,則必須使用遊標並從遊標更新獲取數據到UI並關閉遊標。

您正在使用助手類,所以它是最好的選擇,所以你不必關心處理。

當您想要獲取數據,然後只需創建一個Helper對象,打開連接,執行查詢並返回數據,從您的活動中的遊標中獲取數據,更新UI,關閉數據庫。

這是正常的方式,也是一個好方法。

相關問題