這可能是一個愚蠢的問題,但我仍然需要知道它的確切答案。當我們爲特定的應用程序創建數據庫並在真實設備上部署該應用程序時,系統創建的數據庫在哪裏?在內部存儲或SD卡上?如果它在默認情況下位於內部存儲器上,我們是否可以將其轉移到SD卡上,因爲應用程序可能會由於內存不足和數據庫大小增加而崩潰。我有一個帶有9列的表格的數據庫。哪裏會存儲數據庫的正確位置?Sqlite數據庫存儲
回答
如果你不使用SQLiteOpenHelper
創建數據庫時提供任何特定的路徑,那麼它會(默認)將其存儲在設備的內存中:
數據/數據/ app_package_name /數據庫/ dbFilename
但是,您也可以在創建數據庫時提供自己的路徑/位置,例如在ContextWrapper
/*creating database in SD card under app's cache directory*/
context.openOrCreateDatabase(context.getExternalCacheDir() + "/dbFileName",
Context.MODE_PRIVATE, null);
所以如果數據庫默認在內部存儲器中,不會妨礙我的應用程序的性能,因爲內部存儲器不夠大...? – 2012-03-29 14:37:15
事實上,使用內部存儲器時性能會更好,因爲在SD卡上讀取和寫入需要額外的時間(取決於卡的類別)。除非您的應用程序不生成數千條記錄,否則內部內存不應該成爲一般用途或中級應用程序的問題。您可以通過查看**設置**下的**應用程序**來跟蹤您的應用程序緩存。作爲參考,我創建了一個包含近100000條記錄的字典(包括primary_key auto_increment ID字段和其他許多額外的語法信息),並且它在SQLite中花費了近6MB的空間 – waqaslam 2012-03-29 16:41:28
嘗試getDatabasePath(http://developer.android.com/reference/android/content/ContextWrapper.html)。如果您處於「活動」或「應用程序」類中,請嘗試:
文件dbFile = getDatabasePath(MY_DB_NAME); Log.i(dbFile.getAbsolutePath());
編輯
也看到在這個 /數據/數據/ PACKNAME /數據庫/
我面臨着回答您的問題崩潰了類似的問題。我將薑餅移植到我的自定義系統中,並需要使用SQLITE數據庫。這是默認情況下,「Waqas」以前說過。由於我使用的代碼是由其他人編寫的,所以我不知道所有這些,而且我總是在日誌中記錄一些SQLite錯誤。我的內部閃光燈空間有限,我不知道自己用光了。我的應用程序正在從服務器下載信息只是報告下載沒有成功。通過不同的日誌,我發現發生了一些SQLITE錯誤,但沒有告訴我「磁盤已滿」。我想這對於Android應用程序級別來說太低了。希望它能回答你關於崩潰的問題。系統不會崩潰,但您的應用程序將受到影響。
在應用程序存儲器,則可以在數據/數據/ PKGNAME /數據庫/ mydb.db
它存儲在/數據分區內部存儲的保存它,但它通常是不可訪問沒有超級用戶(root)權限。
- 1. 將數組存儲到SQLite數據庫
- 2. 在sqlite數據庫中存儲值
- 3. SQLite不存儲/檢索數據庫
- 4. 存儲在SQLite數據庫爲Android
- 5. 將圖像存儲到sqlite數據庫
- 6. Sqlite數據庫如何存儲表?
- 7. 將圖像存儲到SQLite數據庫
- 8. 在線存儲sqlite數據庫
- 9. 在SQLite數據庫中存儲的bool
- 10. 在icloud中存儲sqlite數據庫?
- 11. 顯示存儲在SQLite數據庫
- 12. 在SQLite數據庫中存儲單詞
- 13. Cordova從存儲連接sqlite數據庫
- 14. Xamarin PCL庫和Sqlite數據存儲
- 15. SQLite數據庫最大存儲容量
- 16. 想要永久存儲SQLite數據庫
- 17. 存儲在SQLite數據庫中
- 18. 要創建「數據庫」文件夾中存儲SQLite數據庫
- 19. 在SQLite數據庫中存儲byte []並從SQLite數據庫中選擇字節[]
- 20. JSON數據存儲到SQLite
- 21. 在SQLite中存儲數據
- 22. sqlite數據存儲和index.yaml
- 23. 存儲在意圖與SQLite的SQLite數據庫
- 24. Android - 將敏感數據存儲在sqlite數據庫中
- 25. 如何將xls文件數據存儲到sqlite數據庫
- 26. Android數據不存儲到SQLite數據庫
- 27. 存儲如何將數據到Android SQLite數據庫
- 28. 將抓取的數據存儲到數據庫中sqlite
- 29. 如何將數據存儲在數據庫中(sqlite)
- 30. 如何將XML數據存儲到SQLite數據庫
我認爲谷歌會是所有上述問題的最佳答案您是否在發佈之前嘗試搜索? – Deva 2012-03-29 12:40:29
您將它保存到數據庫中的記錄數量是多少? – 2012-03-29 12:41:22
是的,我沒有谷歌周圍,但擁抱得到相關的答案。 現在我沒有插入表中的記錄負載。但我擔心的是,當記錄數量很多時,我的應用程序將會如何運作。它會崩潰/沒有迴應/不會參賽等。所以我問這個問題。 – 2012-03-29 14:34:10