Android,Ormlite,数据库位置

前端之家收集整理的这篇文章主要介绍了Android,Ormlite,数据库位置前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在使用Ormlite来保存我的 Android应用程序中的一些数据(在Motorola Xoom上运行).默认情况下,sql数据库保存到/ data / data / [package name] / databases / [dbname] .db.麻烦的是,Xoom没有root,因此用户无权访问保存db的目录(无法复制/备份/编辑db的内容).

我已经在其中一个类中添加了一些额外的代码来将数据库从/ data复制到sd卡,这很好,但实际上我认为应该可以设置数据库存储位置的路径.我错过了什么,或者Ormlite不可能这样做?

提前致谢,
C

解决方法

如果您使用类似的东西,可以在SDCard上创建数据库
public class DatabaseHelper extends OrmLitesqliteOpenHelper {
[...]
public DatabaseHelper(final Context context) {
    super(context,Environment.getExternalStorageDirectory().getAbsolutePath()
    + File.separator + DATABASE_NAME,null,DATABASE_VERSION);
}

这样就可以创建db文件. /mnt/sdcard/Android/data/com.your.app/files/myData.sqlite
Pro:保存内存
Con:当SDCard不可用时无法访问数据库(例如,当它连接到PC时)
此外,任何可能是赞成或反对的人都可以阅读.

使用context.getExternalFilesDir()而不是Environment.getExternalStorageDirectory()将使用特定于您的应用的位置,并在卸载后自动清理(并且在应用更新时也显示在2.2上).

附:我在某处看到这种方法可能不适用于2.2之前的Android版本(?)

原文链接:https://www.f2er.com/android/310189.html

猜你在找的Android相关文章