我正在编写一个Android应用程序,我想在我的应用程序中使用本地SQLite数据库。
我应该将此数据库存储在设备的文件系统中?是否存在存储作为应用程序一部分的文件的默认位置?我需要考虑什么?
提前致谢
答案 0 :(得分:0)
是。您应该将数据库存储在设备内部存储中。是的,文件系统中有一个数据库的默认位置。为了创建数据库文件,您可以创建一个扩展SQLiteOpenHelper
的类。
除其他外,此类还包含一个构造函数,允许您为数据库文件指定名称,版本和CursorFactory
对象。它还有getWritableDatabase()
方法,它将自动创建数据库文件并返回一个SQLiteDatabase
对象,您可以从中插入数据和执行查询。
您最近创建的文件将放在内部应用程序数据库文件夹文件夹中,通常位于data / data / com.your.package.name / databases / databasename.db中。在正常情况下,用户无权访问此文件。除非他已根植他的手机,因此他拥有root权限。因此,它是保存数据库的最佳位置。
答案 1 :(得分:0)
你不应该在乎!
您应该使用SQLiteOpenHelper。顺便提一下,它将您的数据库存储在/ data / data /<您的包名称> / databases中,正如其他几位回答者所指出的那样。但是,如果你真的想知道它在哪里,你可能会做错了。
答案 2 :(得分:0)
好的,所以你应该使用SQLiteOpenHelper
提供的默认位置;然而,还有另一种选择。另一个选项(非常少数应用程序使用)将其保存到(ExternalDirectory)/Android/data/com.example.app
。但是,您应该使用默认值,因为您不希望用户能够访问它。
答案 3 :(得分:-1)
最好保存在用户无法输入的数据目录中
答案 4 :(得分:-1)
来自Google网站: 就像您保存在设备内部存储上的文件一样,Android会将您的数据库存储在与关联应用程序相关的专用磁盘空间中。您的数据是安全的,因为默认情况下,其他应用程序无法访问此区域
http://developer.android.com/training/basics/data-storage/databases.html