繁体   English   中英

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

[英]Where is my sqlite database stored in android?

我已经在android中创建了一个sqlite数据库,我可以在我的代码中查询它,但是在文件系统/ sdcard上找不到它。

我已经检查了其他SO问题,它不在data/data/package-name...

我确实在我的应用程序上看到一个数据条目占用了52kb的空间,所以在那里,此外,当我再次运行该应用程序时,它不会触发OnCreate这意味着它已经具有数据库了。

我的手机已扎根,我正在使用自定义的软心豆糖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();
}

在我的根电话中,它位于: /data/data/<your_app_package_name>/databases/<database_name>

示例/data/data/com.my.package/databases/mydb

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

在那里。 您无法在Android设备上访问该文件夹的唯一原因是该文件夹是私有文件夹,无法使用常规方法查看,操作系统会保护该文件夹,并且该文件夹(及其内容,例如您的数据库)只能由该特定用户使用应用。

如果要查看它,请运行一个模拟器,在其中运行您的应用程序,转到DDMS视图,对/data/data/packageName/databases ,它就在其中。 如果您无权访问DDMS,请使用以下ADB Shell命令: $ adb pull /data/data/packageName/databases/yourDBFilename.db

调用Context.getDatabasePath将为您提供明确的答案

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

如果您使用的是Android Studio,则DDMS位于“工具”-“ Android”-“ Android设备监视器”中。 使用DDMS可以找到它,就像在Eclipse中一样。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM