我应该在哪里保存Android文件系统上的数据库

时间:2014-09-13 02:25:07

标签: android sqlite filesystems xamarin android-file

我正在编写一个Android应用程序,我想在我的应用程序中使用本地SQLite数据库。

我应该将此数据库存储在设备的文件系统中?是否存在存储作为应用程序一部分的文件的默认位置?我需要考虑什么?

提前致谢

5 个答案:

答案 0 :(得分:0)

是。您应该将数据库存储在设备内部存储中。是的,文件系统中有一个数据库的默认位置。为了创建数据库文件,您可以创建一个扩展SQLiteOpenHelper的类。

除其他外,此类还包含一个构造函数,允许您为数据库文件指定名称,版本和CursorFactory对象。它还有getWritableDatabase()方法,它将自动创建数据库文件并返回一个SQLiteDatabase对象,您可以从中插入数据和执行查询。

您最近创建的文件将放在内部应用程序数据库文件夹文件夹中,通常位于data / data / com.your.package.name / databases / databasename.db中。在正常情况下,用户无权访问此文件。除非他已根植他的手机,因此他拥有root权限。因此,它是保存数据库的最佳位置。

要查看有关此内容的更多信息,请参阅this linkthis also

答案 1 :(得分:0)

你不应该在乎!

您应该使用SQLiteOpenHelper。顺便提一下,它将您的数据库存储在/ data / data /<您的包名称> / databases中,正如其他几位回答者所指出的那样。但是,如果你真的想知道它在哪里,你可能会做错了。

答案 2 :(得分:0)

好的,所以你应该使用SQLiteOpenHelper提供的默认位置;然而,还有另一种选择。另一个选项(非常少数应用程序使用)将其保存到(ExternalDirectory)/Android/data/com.example.app。但是,您应该使用默认值,因为您不希望用户能够访问它。

答案 3 :(得分:-1)

最好保存在用户无法输入的数据目录中

检查data directory

答案 4 :(得分:-1)

来自Google网站: 就像您保存在设备内部存储上的文件一样,Android会将您的数据库存储在与关联应用程序相关的专用磁盘空间中。您的数据是安全的,因为默认情况下,其他应用程序无法访问此区域

http://developer.android.com/training/basics/data-storage/databases.html