ContentResolver查询数据库视图而不是数据库表

时间:2017-05-03 11:40:51

标签: java android sql

我使用ContentResolver从表名'故事'中获取数据。并且uri是content://com.apptest.data/story但是我不明白为什么光标总是从“故事”的视图中获取数据。不是表'故事'。

任何人都可以帮助我吗?谢谢

更新:我的查询是

String[] projection = { //this is 4 static column name
            STORY_ID,
            STORY_COVER_URI,
            STORY_FILE_PATH,
            STORY_COVER_RECT_RATIO,
    };

    Cursor cursor = resolver.query(Uri.parse("content://com.apptest.data/story"),
            projection,
            null,
            null,
            null);

但是我认为问题不在我的查询中,是在contentprovider中,因为当我有错误的语法时它捕获异常说我调用story_view视图而不是故事表

SELECT story_id, cover, coverRectRatio FROM story_view

1 个答案:

答案 0 :(得分:0)

提供ContentProvider的{​​{1}}可能有不同的逻辑。在将结果返回给您之前,它还可能会对您的请求执行其他操作。在这种情况下,它会查询"视图"而不是桌子。