我的sqlite数据库在android中存储在哪里?
我已经在android中创建了一个我的sqlite数据库在android中存储在哪里?,android,database,sqlite,Android,Database,Sqlite,我已经在android中创建了一个sqlite数据库,我可以在我的代码中查询它,但在文件系统/SD卡上找不到它 我已经检查了其他SO问题,它不在data/data/package name… 我确实看到我的应用程序上有一个数据条目占用了52kb的空间,所以它就在那里,而且当我再次运行应用程序时,它不会触发一个OnCreate,这意味着它已经有了数据库 我的手机是根型的&我正在使用一个定制的果冻豆rom,无论出于何种目的,它都运行良好 知道它可能在哪里吗 代码c# 在我的根手机中,它位于:/dat
sqlite
数据库,我可以在我的代码中查询它,但在文件系统/SD卡上找不到它
我已经检查了其他SO问题,它不在data/data/package name…
我确实看到我的应用程序上有一个数据条目占用了52kb的空间,所以它就在那里,而且当我再次运行应用程序时,它不会触发一个OnCreate
,这意味着它已经有了数据库
我的手机是根型的&我正在使用一个定制的果冻豆rom,无论出于何种目的,它都运行良好
知道它可能在哪里吗
代码c#
在我的根手机中,它位于:
/data/data//databases/
例
/安卓系统中的data/data/com.my.package/databases/mydb默认情况下存储在“data/data/yourPackageName/databases/”中,调用
Context.getDatabasePath
将为您提供明确的答案。在Android设备中无法访问该文件夹的唯一原因是,该文件夹是私有的,无法使用传统方法查看,操作系统保护该文件夹,并且该文件夹(及其内容,如数据库)只能由该应用程序使用
如果您想查看它,请运行模拟器,在那里运行应用程序,转到DDMS视图,执行to/data/data/packageName/databases
,它就在那里。如果您无权访问DDMS,请使用以下ADB Shell命令:$ADB pull/data/data/packageName/databases/yourDBFilename.db
如果您使用的是Android Studio,DDMS位于“工具”-“Android”-“Android设备监视器”中。
使用DDMS查找它,就像在Eclipse中一样。向我们展示初始化数据库连接的代码,这会让我们了解文件的存储位置。过了一段时间,回到这里,我意识到你是正确的。我从路径中省略了一个
/data
。过了一段时间,回到这里,我意识到我喜欢你的伪@1604;َاإلٰهَّالهه:)我在任何地方都看不到“/data/data/”。我需要根目录才能看到它吗?@anil_pulikoden是的,你应该。在Marshmellow之后,数据库的位置就不同了。这是真的吗?啊,我喜欢这个答案。当我尝试展开data
文件夹时,它不会显示任何内容。你必须为此扎根吗?@boltup\u im\u编码你有没有发现如果你必须为此扎根?我也吃同样的issue@wizloc我99%肯定你会这么做,除非Android有办法知道你的应用程序正在调试,并且它允许你只访问一个文件夹
public class SqliteHelper : SQLiteOpenHelper
{
private const string DATABASE_NAME = "Book";
private const int DATABASE_VERSION = 1;
public SqliteHelper(Context ctx)
: base(ctx, DATABASE_NAME, null, DATABASE_VERSION)
{ }
// Method is called during creation of the database
public override void OnCreate(SQLiteDatabase db)
{
db.BeginTransaction();
try
{
db.ExecSQL("CREATE TABLE Chapters (Id INTEGER PRIMARY KEY AUTOINCREMENT, Name TEXT NOT NULL);");
ContentValues cv = new ContentValues();
cv.Put("Name", "1. Family");
db.Insert("Chapters", null, cv);
cv.Put("Name", "2. Shopping");
db.Insert("Chapters", null, cv);
cv.Put("Name", "3. Work");
db.Insert("Chapters", null, cv);
db.SetTransactionSuccessful();
}
finally
{
db.EndTransaction();
}
//if(db.IsOpen())
// db.Close();
}