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)如果所查看的列的两行恰好相同,则会生成错误匹配。要成为真正的匹配,必须获取并比较唯一索引,如上面接受的答案中所述。