如何从资产中将sqlite db放在sdcard上

时间:2012-06-30 14:10:05

标签: android sqlite sd-card

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

有没有办法将sqlite db直接放到SD卡上?还是整个app等?要求用户在安装后强迫它穿过它似乎太晚了,我不能自己主持dayabase。

1 个答案:

答案 0 :(得分:1)

  

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

你可以制作一个mod SQLiteAssetHelper来处理这个问题。默认情况下,它会将数据库放在内部存储上的正常位置。不幸的是,现在,它需要一些非平凡的手术才能做出这种改变,尽管我刚刚提交了a feature request来使这更容易。

  

或整个app等?

你可以use android:installLocation="preferExternal",但可能不会受到尊重。而且,这不会影响您的数据库 - getFilesDir()getDatabaseDir()和亲属始终在内部存储空间。

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