android - 当不存在数据库或表时,是否可以在 Android 中模拟 sqlite3 Cursor?

标签 android sqlite mocking android-contentprovider

我正在使用 ContentProvider 来缓存网络服务查询的结果。它是一个 HTTP 请求,响应内容是 XML。大部分数据都是缓存的,所以我只是查询数据库,如果没有找到,从webservice请求,插入数据库并重新查询数据库。因此,响应始终是来自 SQLiteDatabaseHelper 的 Cursor。

我有一个结果集没有存储在数据库中,因为它是 100% transient 的,但我想提供它来自数据库游标的外观。是否有捷径可寻?例如,如果我可以使用 cursor.setValue("string", objectValue) 或其他一些现有实现将其投影到光标上。

如果没有,我将绕过该内容结果的数据库,或者将其填充到一个不断重复使用的普通表中。

最佳答案

根据您的使用方式,编写您自己的游标类可能并不难。为了方便起见,从 AbstractCursor 类派生您的类,它会为您处理很多细节。

您也可以使用 MatrixCursor .

关于android - 当不存在数据库或表时,是否可以在 Android 中模拟 sqlite3 Cursor?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3723535/

相关文章:

python - 使用简单的 sqlite 查询在 python 中令人困惑的 AttributeError

sqlite - 在 SQLite 中从接近重复的行(由 GROUP BY、HAVING、COUNT 确定)中选择 "first"(由 ORDER BY 确定)行

android - Android Rooms ORM中基于@ForeignKey的级联删除

java - 如何在java中模拟返回Iterator的同一个类中的方法

java - 对象内部方法的模拟创建

java - 由 : java. lang.ClassCastException : com. example.mayank.sunshine.SettingsActivity 引起,无法转换为 android.app.Activity

android - 带有计时器的服务调用另一个服务

javascript - Jasmine:单元测试后恢复原型(prototype)方法

java - 改造中如何上传和检索特定用户下的数据?

android - textIsSelectable 不适用于 descendantFocusability=blocksDescendants