您当前的位置: 首页 >  ide
  • 0浏览

    0关注

    674博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

面试:“ContentProvider和数据库“的区别和联系

沙漠一只雕得儿得儿 发布时间:2022-01-05 16:47:36 ,浏览量:0

1.ContentProvider是如何实现数据共享的?

  1. 在Android中,为了把自己程序的数据(一般是数据库)提供给其他应用程序,就通过ContentProvider提供的方法.
  2. 内容提供者可认为是程序间共享数据的接口,新建一个类继承ContentProvider.
  3. 按要求重写insert,delete,update,query方法(用于数据库的操作).
  4. 要记得进行清单文件注册,注册要加上作者标记authorities(自定义的):
  5. 其他程序通过内容解析者ContentResoler的对象进行增删改查

2.为什么要使用ContentProvider?它和sql在实现上有什么区别?

  1. ContentProvider 屏蔽了数据存储的细节,内部实现透明化,用户只需关心uri即可(是否匹配)
  2. ContentProvider能实现不同app的数据共享,sql 只能是自己程序才能访问
  3. Contentprovider还能增删本地的文件,xml等信息

3.说说ContentProvider,ContentResolver,ContentObserver之间的关系?

  • ContentProvider:内容提供者,定义增删改查(方法)和数据库关联;
  • ContentResolver:内容解析者,一个app里边用于获取另一个app的数据(进行增删查改的具体数据操作)
  • ContentObserver:内容观察者,另外的一个app(可以是不同于上述两个app)可以监听数据改变的消息
  1. getContentResolver.notifyChange(uri):在内容提供者里面的各个方法添加,这样就能发出消息
  2. getContentResolver.registerContentOberver():进行监听注册,一个想观察内容变化的app,在观察者创建时就注册
关注
打赏
1657159701
查看更多评论
立即登录/注册

微信扫码登录

0.0367s