我在我的应用程序中使用Android SQLiteDatabase。部分应用程序涉及从服务器下载大量数据并将其存储在手机的本地数据库中。有没有办法找出数据库实际上在电话上占用多少空间?我无法在项目文件夹中找到任何与数据库相关的文件。Android:SQLite数据库大小
回答
本地SQLite数据库存储在Environment.getDataDirectory()
+ /data/<Package Name>/databases
。也可以拨打SQLiteDatabase $ getPath()方法。
SQLiteDatabase db;
// ...
long size = new File(db.getPath()).length();
如果您使用的是Eclipse做到这一点:
- 运行或调试项目。
- 打开文件资源管理器窗口。
- 向下滚动主/数据目录,直到找到包/数据库/(com.blabblah.appname/databases /)文件夹。
您将在此目录中看到您的数据库。如果要从手机中拉出数据库,请使用文件浏览器窗口顶部的按钮,第一个按钮从设备中拉出文件,第二个按钮允许您将文件放在设备上,最后一个按钮将被删除所选文件。
我经常从我的应用程序抓住我的数据库在这方面,并在SQLite客户端做一些“离线”测试,这非常方便。
希望有所帮助。
非常感谢。出于某种原因,我找不到实际的数据库或数据目录(遍布我的Eclipse项目文件夹,无处可查)。我一直在找工作区/ project_name/*。任何想法可以在哪里? – Jin 2012-03-21 22:23:04
您使用的窗口错误,您可能使用了Project Explorer而不是File Explorer。 Project Explorer将只显示包文件夹,它不会显示包存储数据的本地文件夹。为此,您需要使用上述的文件资源管理器:)另外,如果您尚未创建数据库,它不会是数据/包/数据库文件夹,我知道这似乎很明显,但确保您的数据库正在成功创建(当它进入Eclipse中的右侧窗口)。 – AutoM8R 2012-03-21 23:09:38
- 1. Android:Sqlite数据库getMaximumSize()以什么单位返回大小?
- 2. Android:SQLite数据库的Getter
- 3. Android:Sqlite数据库错误
- 4. Android:SQLite使用错误的数据库
- 5. Android:SQLITE数据库文件已加密或不是数据库
- 6. Drupal数据库大小
- 7. 境界数据库大小
- 8. H2数据库列大小
- 9. SQL Server数据库大小
- 10. SQL CE数据库大小
- 11. 数据库大小不明
- 12. Postgresql - caculate数据库大小
- 13. 数据库大小计算?
- 14. 数据库大小问题
- 15. 限制数据库大小
- 16. HSQL数据库的大小
- 17. TFS2010数据库大小
- 18. MySQL数据库大小
- 19. 猜测数据库大小
- 20. 数据库数据类型大小
- 21. MySQL数据库的最大表大小
- 22. 设置couchdb最大数据库大小
- 23. WSO2 Analytics数据库大小过大
- 24. SQLite数据库大小太大
- 25. LMDB数据库最大窗口大小
- 26. Android:Sqlite崩溃从大blob
- 27. Android:SQLite函数不返回有效数据
- 28. Postgres数据库转储大小大于物理大小
- 29. Android:SQLite数据库试图不覆盖值,每次我开始
- 30. Android:SQLite数据库“没有这样的表存在”
由于某种原因我找不到实际的目录,但上面的代码工作正常。我得到了一百万的地方。它是以字节为单位吗? – Jin 2012-03-21 22:21:56
是的,length()方法以字节为单位返回文件大小(如果文件不存在,则返回零)。 – Vladimir 2012-03-21 22:31:04