gpt4 book ai didi

android - 我是否需要使用从我的 insert() 方法返回的相同 URI 来获取一行

转载 作者:行者123 更新时间:2023-11-30 00:52:03 25 4
gpt4 key购买 nike

我对 Android Content providers 有一个简单的疑问。

在将单个记录插入数据库时​​,我通过附加从 insert() 获取的 _id 返回一个 URI方法,我也在调用 getContentResolver().notifyChange()在这个 URI 上。

所以现在我的 URI 将是 "content://CONTENT_AUTHORITY/TABLE_NAME/_id" .

但是在获取单个记录时,我通过选择另一个 id(复合键)来获取它让它成为 movie_id .

所以要获取这个,我的 uri 将是 "content://CONTENT_AUTHORITY/TABLE_NAME/movie_id"

现在我将能够获取记录,因为我的 URI 匹配器仅匹配/TABLE_NAME/# 记录。

但是创建的第一个 URI 会发生什么,我在其上创建了 notifyChange()方法?

这样做是不是不好的做法,因为我正在使用 notifyChange( ) 在一个 URI 上,但我正在使用其他 URI 获取?

最佳答案

最佳实践确实是您在 insert() 方法中返回的 uri 可用于查询完全相同的对象。显然,如果您只有一种 uri 格式,这会更容易,并且某些工作流程可能非常有用。

但话又说回来,别名 uris 也没有问题,并且能够根据不同的唯一 ID 从表中查询行。但如果您这样做,请使用不同的 URI,以便您的内容提供商知道要执行哪个查询。

在您的示例中,我会让 content://CONTENT_AUTHORITY/TABLE_NAME/_id 通过行 ID 查询条目,并添加 content://CONTENT_AUTHORITY/TABLE_NAME/MOVIE/movie_id 通过组合键查询条目的 uri

关于android - 我是否需要使用从我的 insert() 方法返回的相同 URI 来获取一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40874458/

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