首先,我在Android应用程序中创建一个名为“ mydb”的数据库:
DBHelper dbHelper = new DBHelper(context, "mydb", null, 1);//DBHelper is my custom class
Run Code Online (Sandbox Code Playgroud)
并将一些数据写入表中:
SQLiteDatabase db = dbHelper.getReadableDatabase();
db.execSQL("insert into mytable(name, text) values ('allen','hello')");
Run Code Online (Sandbox Code Playgroud)
在这里,一切都很好。但是,然后,我使用软件“ RE Explore”(一定在有根设备上)不通过编程手动删除此数据库。
然后,在我的代码中,我读取了该数据库表。令人惊讶的是,我仍然可以获取存储的数据。
Cursor cursor = db.query("mytable", new String[]{"name","text"}, null, null, null, null, null);
Run Code Online (Sandbox Code Playgroud)
为什么?