android - ContentUris.withAppendedId中 '_id'有什么用

标签 android sqlite uri android-contentprovider

我一直在努力更新 SQlite 数据库表中的 1 行。

虽然我在 ContentUris.withAppendedId Uri 中提供了我想要更新的行的 _id 值,但我仍然必须检查更新语句的“WHERE”部分是否记录的 id 相同。

当我将更新语句的“WHERE”部分保留为“null”时,更新语句会尝试更新表的所有行,而不是仅更新具有提供的 ID 的行。

最佳答案

URI 定义资源。它们没有定义可以对该资源进行哪些操作。

关于 ContentProvider(因为您已将其包含在问题的标签中),您需要考虑带有 ContentProvider 的应用程序和应用程序希望访问或修改其数据的可能不是同一个应用程序。如果您要实现 ContentProvider,则需要识别您提到的那种 URI 并相应地调整 WHERE 子句,前提是您支持对该资源的操作。

另一个用途是插入操作,其中返回的典型内容是刚刚插入的项目的 URI。例如。在 URI content://authority/directory 上成功插入将返回类似于 content://authority/directory/_id 的内容,其中 _id 是新插入的 ID行。

关于android - ContentUris.withAppendedId中 '_id'有什么用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22482549/

相关文章:

java - 无法配置 EMDK 版本 7.4.0

python - 如何将输入从条目添加到Python中的标签?

Android SQLite 查找速度非常慢

android - 太大的 react-native 发布 apk

android - WearableListView如何预选一个item?

sql - 来自多个表的sql count()

cocoa - 在 NSScriptCommand 中

c# - 物理、相对、绝对和其他路径

android - 如何从Android中的URL下载文件?

c# - 如何将数据绑定(bind)到 xamarin Android 中的 ListView ?