我的sqlite数据库存放在android中的哪个位置?

时间:2013-09-19 22:13:38

标签: android database sqlite

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

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

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

我的手机已植根了我正在使用一个定制的果冻豆rom,可以满足所有意图和目的。

有什么想法吗?

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

6 个答案:

答案 0 :(得分:24)

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

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

答案 1 :(得分:10)

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

答案 2 :(得分:6)

它在那里。您无法在Android设备中访问它的唯一原因是因为该文件夹是私有的,并且无法使用传统方法看到,操作系统保护该文件夹,并且该文件夹(以及它的内容,例如您的数据库)只能由某些文件夹使用应用

如果你想看到它,运行一个模拟器,在那里运行你的应用程序,转到DDMS视图,执行到/data/data/packageName/databases,它就在那里。如果您无权访问DDMS,请使用此ADB Shell命令:$ adb pull /data/data/packageName/databases/yourDBFilename.db

答案 3 :(得分:4)

致电Context.getDatabasePath将为您提供明确的答案

答案 4 :(得分:0)

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

答案 5 :(得分:0)

如果您使用的是Android工作室,则DDMS位于&#34;工具&#34; - &#34; Android&#34; - &#34; Android设备监视器&#34;。 使用DDMS就像在Eclipse中完成它一样。