ContentResolver在删除并重新创建后失去对ContentProvider(SQLite)的引用

时间:2015-04-15 16:24:13

标签: android android-sqlite android-contentprovider android-testing android-contentresolver

我在我的应用程序中编写了SQLite数据库的单元测试,这个奇怪的问题已经悄悄进入。测试包中有多个测试文件按顺序运行。

最初,在其中一个测试中,ContentResolver用于使用mContext.getContentResolver()查询数据库,它的工作方式应该如此。

然后,在另一个测试中,我通过调用mContext.deleteDatabase()来删除整个数据库,并通过调用getWritableDatabase()来使用SQLiteOpenHelper对象重新创建数据库,这也可以正常工作。

问题在此之后开始,ContentResolver再次用于对数据库进行操作,而ContentResolver现在与以前的数据库不对应。

使用ContentResolver完成的任何查询/插入操作都不对应于直接在数据库上完成的相同操作(我直接在数据库上插入,我得到一个rowId,但是当我使用ContentResolver查询该行时,我得到回一个空光标)

我无法弄清楚这里发生了什么。

0 个答案:

没有答案