我的sqlite数据库存储在android的哪里?

qzlgjiam  于 2023-11-21  发布在  SQLite
关注(0)|答案(6)|浏览(202)

我在android中创建了一个sqlite数据库,我可以在代码中查询它,但在文件系统/sd卡上找不到它。
我已经检查了其他SO问题,它不在data/data/package-name...
我确实看到我的应用程序上的一个数据条目占用了52 kb的空间,所以它就在那里,而且当我再次运行应用程序时,它不会触发OnCreate,这意味着它已经有了DB。
我的手机是root &我使用的是自定义果冻豆rom,运行良好的所有意图和目的。
知道它可能在哪吗
代码c#

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();
}

字符串

wydwbb8l

wydwbb8l1#

在我的扎根手机,它在:

/data/data/<your_app_package_name>/databases/<database_name>

字符串
现实生活中的例子:

/data/data/com.my.package/databases/mydb.db

jgovgodb

jgovgodb2#

1.转到工具-> DDMS或单击工具栏中SDK管理器旁边的设备监视器图标。
1.设备监视器窗口将打开,在文件资源管理器选项卡中单击数据->数据->您的项目名称。之后,您的数据库文件将打开。单击“从设备拉取文件”图标。保存文件使用.db扩展名。
1.打开Firefox,按Alt,工具->SQLiteManager。
1.按照数据库->连接到数据库->浏览数据库文件并单击确定。您的SQLite文件将立即打开。

lnvxswe2

lnvxswe23#

它在那里。你不能在Android设备中访问它的唯一原因是因为该文件夹是私人的,不能使用传统的方法看到,操作系统保护该文件夹和该文件夹(和它的内容,例如您的数据库)只能由该特定应用程序使用。
如果你想看到它,运行一个模拟器,在那里运行你的应用程序,转到DDMS视图,做/data/data/packageName/databases,它就在那里。如果你没有访问DDMS的权限,使用这个ADB Shell命令:$ adb pull /data/data/packageName/databases/yourDBFilename.db

flseospp

flseospp4#

调用Context.getDatabasePath将给予明确的答案

kkbh8khc

kkbh8khc5#

如果您使用的是Android Studios,DDMS位于“Tools”-“Android”-“Android Device Monitor”中。使用DDMS可以像在Eclipse中一样找到它。

eufgjt7s

eufgjt7s6#

Android中的数据库默认存储在“data/data/yourPackageName/databases/”中

相关问题