android - CursorLoader - 两个表连接查询?

标签 android join android-contentprovider android-cursorloader

我有两个 1:1 关系的表,我正在使用内容提供程序和游标加载器。

我将如何进行连接查询以使用游标加载器?我可以在内容提供程序中使用 rawSql 以某种方式破解它,但我无法在游标加载器构造函数中进行操作。

非常感谢!

private static final String CREATE_TABLE_ARTICLES = "create table "
            + TABLE_ARTICLES + "("
            + COLUMN_ARTICLE_ID + " integer primary key autoincrement, "
            + COLUMN_URL + " text not null unique, "
            + COLUMN_TITLE + " text not null, "
            + COLUMN_PRICE + " text not null, "
            + COLUMN_ADDED + " text not null, "
            + COLUMN_IMG_URL + " text);";

    private static final String CREATE_TABLE_ARTICLE_DETAIL = "create table "
            + TABLE_ARTICLE_DETAILS + "("
            + COLUMN_ARTICLE_DETAIL_ID + " integer primary key autoincrement, "
            + COLUMN_DESC + " text not null, "
            + COLUMN_LOCALITY + " text, "
            + COLUMN_TYPE + " text not null, "
            + COLUMN_SELLER + " text not null, "
            + COLUMN_SELLER_PHONE + " text, "
            + COLUMN_IMAGE_COUNT + " integer default 0, "
            + COLUMN_ARTICLE + " integer, foreign key (" + COLUMN_ARTICLE + ") references " + TABLE_ARTICLES + "(" + COLUMN_ARTICLE_ID + "));";

最佳答案

实际上,您不必使用自定义任务加载器。 简而言之,一种解决方案是创建 Uri“content://AUTHORITY/TableArticlesWithDetail”。 然后在您的内容提供程序中,检查该 Uri 并执行原始 SQL 来执行连接。

参见 how to use join query in CursorLoader when its constructor does not support it了解详情。

关于android - CursorLoader - 两个表连接查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14076540/

相关文章:

android - 如何在 Android 应用程序中实现聊天功能?

android - 如何使用如图所示的按钮创建布局? (实际上是三角形的按钮,而不是面具)

android - admob 中介的问题

mysql - 使用 MySQL 生成按货币分组的填补空白的每日销售报告

sql - 计算多次连接的表中的值

Android - 在外部应用程序中打开 pdf

android - 为来 self 自己的应用程序的来电提供来电显示

java - SharedPreferences 不返回默认值

mysql - 您将如何缩短此查询?

android - 设置 Intent 返回的最大项目数