android - 我的 sqlite 数据库存储在 android 中的什么位置?

标签 android database sqlite

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

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

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

我的手机已获得 root 权限,并且我使用的是自定义果冻 bean rom,该 rom 运行良好,可满足所有 Intent 和目的。

有什么想法吗?

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

最佳答案

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

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

关于android - 我的 sqlite 数据库存储在 android 中的什么位置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18905804/

相关文章:

Android Assets - 并非所有文件夹/文件都打包在 APK 中

android - 如何将占用大量内存的大型数据库从 Assets 文件夹复制到我的应用程序?

c++ - 在 sqlite 中将 char* 作为 vector<byte> 插入

sql - 将嵌套的(两个)NOT IN 转换为嵌套的(两个)NOT Exists

android - Retrofit Request Interceptor 阻塞主线程

android - 如何在应用程序的 ImageView(主要 Activity )中从网络加载图像?

android - 在 Gradle 中针对不同风格编辑 google-services.json

database - 我们可以在 mongoDB 上使用 elasticsearch 吗?

mysql - 使用 HAVING 子句 SELECT 不返回任何内容

c++ - 将 SQL 表行映射到 C++ 结构