[英]notifyChange with changed uri from contentProvider.update()
[英]android contentProvider notifyChange
我對contentProvide中使用的notifyChange機制感到困惑:
// Tell the cursor what uri to watch, so it knows when its source data changes
c.setNotificationUri(getContext().getContentResolver(), uri);
和
getContext().getContentResolver().notifyChange(noteUri, null);
以下是問題(假設提供者和客戶端位於不同的程序包中):
請澄清
我知道這是一個老問題。 我在回答這個問題,對遇到這個問題的人有幫助。
- Provider返回的contentResolver是否與客戶端返回的Resolver相同?
是的,是一樣的。
- 游標與提供者和客戶端返回的光標相同嗎?
我想,您是在第一個代碼段(在query()方法中看到)的上下文中提出這個問題的。 在這里,您將在要返回給客戶端的光標上設置通知uri。 因此,很明顯,客戶端和提供者正在使用相同的游標。
- 要通知更改的Uri決議是什么? 整個表uri還是一行?
通知的Uri取決於操作:
insert()-通知Uri是表Uri,后面附加新插入的行的ID。
delete()和update()-在這里,Uri是表Uri,后面附加了已刪除或已更新行的ID。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.