gpt4 book ai didi

android - ContentUri 的 id 格式为字符串

转载 作者:行者123 更新时间:2023-12-05 06:46:19 26 4
gpt4 key购买 nike

内容uri一般是这种格式

content://provider/product/1

是否可以让 contenturi 接受这样的 uri

content://provider/product/p1

id 可以是字符串吗?我正在尝试使用 ContentUris.withAppendedId(contentUri,id)。这个 id 似乎是 long 类型。

最佳答案

问题很可能出在您定义 UriMatcher 的方式上。

您可能正在为那个以“#”结尾的 uri 和表使用模式匹配器,所以它正在寻找一个数字。

只需添加另一个与您已有的完全相同的匹配器模式,但将“#”更改为“*”,这样它也可以匹配字符串。

这是我使用的示例,其中我的表同时具有 _id 列和 device_id 列。 device_id 列具有 NOT NULL 和 UNIQUE 约束并保存 UUID。这两列中的任何一列都可以用作行标识符。

sUriMatcher.addURI(AUTHORITY, DevicesTable.TABLE_NAME + "/#", DEVICE);sUriMatcher.addURI(AUTHORITY, DevicesTable.TABLE_NAME + "/*", DEVICE);

有了这个,你可以调用 Uri.withAppendedPath(uri, _id);或 URi.withAppendedPath(uri, uuid);匹配器会找到正确的表。

请务必调整您的 ContentProvider 以针对任何一种情况查询正确的字段。

关于android - ContentUri 的 id 格式为字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16754443/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com