2012-10-18 41 views
0

我對使用DB或持久性存儲很困惑,如果我分貝使用的話,我必須把它存儲在MMC,因爲我看過一些在那裏,所有的BB設備不允許存儲db在手機內存中,如果我在mmc上創建db,那麼用戶可以刪除它,第二種方法是Persistent Store,但是當我們有大量數據時操作並不容易,如何管理大量密鑰來檢索和存儲持久性存儲中的數據,以及如何對持久性存儲數據執行刪除,編輯操作。 不知道什麼,非常困惑。哪種方法最好,機制是什麼。 好心建議。混淆黑莓sqlite的分貝或持久性存儲

+0

如果最好的答案是你自己的,你應該接受一個。 –

+0

真的嗎?我可以接受我自己的答案嗎? – Sandeep

+0

[可以問和回答你自己的問題](http://blog.stackoverflow.com/2011/07/its-ok-to-ask-and-answer-your-own-questions/) –

回答

1

BB documentation說:

如果只指定數據庫名作爲參數值DatabaseFactory.create(),在設備的SD卡上創建的數據庫文件。數據庫文件的默認位置是/SDCard/databases/<application_name>/。創建數據庫的應用程序的名稱包含在避免名稱衝突的路徑中。

您可以創建在eMMC的內存數據庫文件,支持它,通過指定相應的文件系統路徑設備。

因此,爲了與所有設備保持兼容,您必須將數據庫放在卡上。

除了拔出存儲卡,用戶可以隨時刪除並重新安裝應用程序,所以你必須做好準備,爲您的數據消失。無法強制您的數據違背用戶的意願。

您可以做的最好的方式是抱怨您的數據丟失,和/或重新初始化您的數據庫。

Persistent Store確實不適合管理大量數據;對於任何不僅僅是簡單的鍵/數據查找而言,您都必須將數據加載到內存中並在那裏進行查詢。

+0

這不是我問兄弟。這些東西我已經實施並且工作正常。我的問題是,如果有人拔出存儲卡,那麼應用程序將無法工作... – Sandeep

1

使用距離的主要區別是,它支持Sqlite的5.0到7.1以下的設備,012,,它支持從5.0或更高版本開始,您可以查找您定位的是哪個操作系統。 當保存在持久性Db中時,您可以將它保存並作爲Vector進行檢索,但我對Sqlite數據庫沒有認識。