2010-01-12 83 views
5

1)我們的Android應用程序將數據存儲在內置的SQLite數據庫中。Android內部存儲 - 有哪些限制?

我看到數據庫可以拋出android.database.sqlite.SQLiteFullException,但API中沒有確切的信息是什麼限制。

任何人都可以告訴什麼是數據庫的大小限制,以便不進入SQLiteFullException?

我假設DB將數據存儲在設備的內部存儲器中(與SDCard相比)。我對嗎? 鑑於SQLite數據庫只是一個文件,數據庫大小可能受限於免費的內部存儲空間。再說一遍 - 對嗎?如果是,那麼Android的內部存儲大小是多少?如何檢測它?它在設備型號還是操作系統版本基礎上有所不同?


2)我們還需要保存應用程序設置。我認爲SharedPreferences將很好地適合。但問題是 - SharedPreferences是否也保存到內部存儲?如果是,那麼數據庫存儲其文件的位置是否相同?

在此先感謝!

+0

所以任何方式來找到SQLite數據庫的限制或大小。或者以任何方式查找數據庫當前的可寫狀態?或者處理異常是唯一的方法? – Pritam 2010-08-06 02:19:20

+0

我們通過處理異常來做到這一點(甚至沒有嘗試其他方式)。 – 2010-08-06 10:27:14

回答

7

我假設DB存儲在 裝置內部儲存數據(相對於 SD卡)。我對嗎?

默認情況下,是的。

考慮的SQLite數據庫只是一個文件, 大概DB大小與 免費的內部存儲空間的限制。再次 - 我對不對?

這將是我的猜測。

它是基於設備型號 還是基於OS版本?

在設備模型的基礎上。

是SharedPreferences是否保存到 內部存儲?

是的。

如果是,那麼它是相同的存儲 其中數據庫存儲其文件?

是的。