Android 可以比较两个游标吗?

Android 可以比较两个游标吗?,android,sqlite,Android,Sqlite,我需要检查两个指针是否指向具有相同值的相同行。可能吗 更多详情: 我正在从我自己的ContentProvider 我向服务器发送请求,然后用新值更新ContentProvider中的数据 如果值发生更改-我需要通知用户他可以更新数据 根据Commonware删除的答案: 在游标中的相关列上迭代,检索值,然后比较每个值 虽然您可能事先不知道每个列的类型,但可以使用Cursor.getType()找到。还可以使用Cursor.getColumnNames()获取每列的名称和列数 此信息将允许您使用正

我需要检查两个指针是否指向具有相同值的相同行。可能吗

更多详情:

  • 我正在从我自己的
    ContentProvider
  • 我向服务器发送请求,然后用新值更新
    ContentProvider
    中的数据
  • 如果值发生更改-我需要通知用户他可以更新数据

  • 根据Commonware删除的答案:

    在游标中的相关列上迭代,检索值,然后比较每个值

    虽然您可能事先不知道每个列的类型,但可以使用
    Cursor.getType()
    找到。还可以使用
    Cursor.getColumnNames()
    获取每列的名称和列数


    此信息将允许您使用正确的访问器方法来获取每个值并进行比较。

    在SQLite中,行与其列值没有单独的标识(但
    ROWID
    是这些值之一)

    您需要的是,您的数据具有一些唯一的列作为光标的一部分,可以是
    ROWID
    ,也可以是一些保证不存在重复项的其他键值


    否则,您永远无法知道所看到的是否只是两条记录,它们在这些列中恰好具有相同的值。

    您可以使用内容提供商通知系统吗,(android.database.ContentObserver,boolean)如果所查看的列的两行恰好相同,则会生成错误匹配。要成为真正的匹配,必须获取并比较唯一索引,如上面接受的答案中所述。