0

一旦将 sqlite db 复制到 data/data/packagename/database 文件夹,我有 7mb 的应用程序会消耗 25mb。这在我节俭的模拟器上太大了,可能会冒犯用户。

有没有办法将 sqlite db 直接放到 sdcard 上?还是整个应用程序等?要求用户在安装后强制它通过似乎太晚了,我自己无法托管 dayabase。

4

1 回答 1

1

有没有办法将 sqlite db 直接放到 sdcard 上?

您可能可以制作一个模型SQLiteAssetHelper来处理这个问题。默认情况下,它将数据库放置在内部存储的正常位置。不幸的是,现在,要进行这种更改需要一些不平凡的手术,尽管我刚刚提交了一个功能请求以使其更容易一些。

还是整个应用程序等?

您可以使用android:installLocation="preferExternal",尽管它可能不被尊重。而且,这不会影响您的数据库—— getFilesDir()getDatabaseDir()和 kin 始终在内部存储中。

另请注意,这只是 Android 1.x/2.x 设备的问题。比这更新的所有东西都应该考虑将内部和外部存储放在一个分区上,因此它们共享空间。

于 2012-06-30T14:19:34.670 回答