ContentResolver 和 ContentProvider 的关系问题。

gotounix 2012-02-24 12:13:30
自己创建ContentProvider的时候需要实现insert query等方法。
但是在调用的时候是这样的
getContentResolver().insert()
这样不就使用了ContentResolver的insert方法了么?为什么用的是ContentProvider的insert方法?

ContentResolver下的insert方法和ContentProvider下自己实现的insert方法是什么关系?

另外,问下:
    static
{
sURIMatcher.addURI("contacts", "people", PEOPLE);
sURIMatcher.addURI("contacts", "people/#", PEOPLE_ID);
sURIMatcher.addURI("contacts", "people/#/phones", PEOPLE_PHONES);
}

这种static{}用法是什么意思?
...全文
160 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
木子小 2012-02-24
  • 打赏
  • 举报
回复
static{}仅在该类被加载时执行一次
即使这个类有多个实例化对象也不会多次执行
ameyume 2012-02-24
  • 打赏
  • 举报
回复
static{}就是只执行一次这段代码。
木子小 2012-02-24
  • 打赏
  • 举报
回复
外界的程序通过ContentResolver接口可以访问ContentProvider提供的数据,
在Activity当中通过getContentResolver()可以得到当前应用的ContentResolver实例,
ContentResolver提供的接口和ContentProvider中需要实现的接口对应,即ContentResolver中的insert、update、delete都是对应与ContentProvider中的insert、update、delete,
所以getContentResolver().insert()最终还是调用ContentProvider的insert方法。

80,492

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧