我是Android编程的新手,并试图绕过这一点,只是为了让自己清楚地了解事情的运作方式。
在Android应用程序中创建Sqlite数据库时,数据库存储在哪里?应用程序删除后会删除吗?任何有关此信息对于了解来自Web开发背景的人员的Android编程都非常有用。
答案 0 :(得分:19)
SQlite数据库只是文件,它们被视为任何其他文件:它们(默认情况下)存储在应用程序的私有数据区域(/data/data/$PACKAGENAME/databases
)中。它们与应用程序私有数据区中的所有其他内容一起被删除。
如果您愿意,可以在SD卡上创建数据库。当然,它们在卸载时不会被删除。
答案 1 :(得分:0)
数据库位于/data/data/app.package.name/databases
。您只能在模拟器或根设备上访问此文件夹(例如,使用具有超级用户权限的文件浏览器)。
删除应用程序时,将删除所有相关数据(包括数据库)
答案 2 :(得分:0)
除非另有说明(由您提供),否则应用会将其数据保存在/data/data/<appname>
下,而SQLite数据库则位于/data/data/<appname>/databases
中。卸载应用程序时,将删除/data/data/<appname>
的整个目录树,包括您的数据库。
答案 3 :(得分:0)
通常,数据库将存储在
中/data/data/package.name.of.your.app/databases
然而,依靠这一点并不是一件好事。最好使用getDatabasePath
上的ContextWrapper
找到它,例如:
File dbFile = getDatabasePath(db_name);
而且,是的,如果您卸载应用程序,通常会删除整个目录/data/data/package.name.of.your.app
。
答案 4 :(得分:0)
数据库,首选项,缓存文件,临时文件都存储在手机记忆库中 /data/data/app.package.name / 的位置。
卸载应用时,此应用的整个手机内存文件夹将被完全删除。