13

sqlite在android中创建了一个数据库,我可以在我的代码中查询它,但我在文件系统/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();
}
4

6 回答 6

25

在我扎根的手机中,它位于:/data/data/<your_app_package_name>/databases/<database_name>

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

于 2013-09-19T22:20:35.570 回答
10
  1. 转到工具 -> DDMS 或单击工具栏中 SDK 管理器旁边的设备监视器图标。
  2. 设备监视器窗口将打开,在文件资源管理器选项卡中单击数据 -> 数据 -> 您的项目名称。之后,您的数据库文件将打开。单击“从设备中提取文件”图标。使用 .db 扩展名保存文件。
  3. 打开 FireFox,按 Alt,工具->SQLiteManager。
  4. 按照数据库 -> 连接到数据库 -> 浏览您的数据库文件,然后单击确定。您的 SQLite 文件现在将打开。
于 2015-04-01T06:22:43.637 回答
7

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

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

于 2013-09-20T00:19:36.017 回答
4

来电Context.getDatabasePath会给你确定的答案

于 2013-09-19T22:39:28.130 回答
1

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

于 2013-09-19T22:30:56.123 回答
0

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

于 2015-04-12T08:25:53.870 回答