安卓习题--第六章

第六章 内容提供者习题

选择题

  1. 在ContentProvider中ContentUris的作用是干什么( A)。
    A、用于获取Uri路径后面的ID部分
    B、增删改查的方法都在这个类中
    C、用于添加URI的类
    D、根本就用不到这个类,没关系
  2. 利用内容解析者查询短信数据时uri怎么写( A )。
    A、Uri uri = Uri.parse(“content://sms”);
    B、Uri uri = Uri.parse(“content://sms/data”);
    C、Uri uri = Uri.parse(“content://sms/contact”);
    D、Uri uri = Uri.parse(“sms/”);
  3. Android中创建内容提供者要继承( B )。
    A、ContentData
    B、ContentProvider
    C、ContentObserver
    D、ContentDataProvider
  4. 在Android中的Activity种通过下面哪个方法来得到ContentResolver的实例对象(B)。
    A、new ContentResolver
    B、getContentResolver()
    C、newInstance()
    D、ContentUris.newInstance()
  5. 若要实现对系统联系人的增删改查,需要使用的系统ContentProvider的Uri为(C )。
    A、Contacts.Photos.CONTENT_URI
    B、Contacts.People.CONTENT_URI
    C、Contacts.Phones.CONTENT_URI
    D、Media.EXTERNAL_CONTENT_URI
  6. ContentProvider中的()方法根据传入的Uri查询指定条件下的数据。
    A、delete
    B、insert
    C、query
    D、update
  7. 定义一个ContentProvider过程中,需要增加匹配的uri,请问在UriMatcher.addURI(“youAuthority”,”item/*”,1)语句中井号**代表(A)。
    A、某个字段
    B、表名
    C、匹配任意URI
    D、id
  8. 当观察到的Uri代表的数据发生变化时,会触发ContentObserver中的(C)方法。
    A、onCreate()
    B、notifyChange()
    C、onChange()
    D、以上说法都不对
  9. 短信的内容提供者是(C)
    A、ContactProvider
    B、MessageProvider
    C、SmsProvider
    D、TelephonyProvider
  10. 在下列选项中,联系人信息内容提供者的主机名是(B)
    A、contact
    B、com.android.contacts
    C、com.android.provider.contact
    D、com.android.provider.contacts
  11. 下面关于ContentProvider描述错误的是( C )。
    A、ContentProvider可以暴露数据
    B、ContentProvider用于实现跨程序共享数据
    C、ContentProvider不是四大组件
    D、ContentProvider通过Uri的形式对外提供数据
  12. 在下列选项中,关于内容提供者的说法错误的是(D)
    A、ContentProvider 是一个抽象类,只有继承后才能使用
    B、内容提供者只有在AndroidManifest.xml文件中注册后才能运行
    C、内容提供者为其它应用程序提供了统一的访问数据库的方式
    D、内容提供者不是抽象类
  13. 如果要调用现成的 ContentProvider,获得如下(B )对象才能调用其方法进行增删查改。
    A、CursorLoader
    B、ContentResolver
    C、Cursor
    D、ContentProvider
  14. 下面哪些功能需要用ContentProvider来实现(C)。
    A、读取系统中的短信内容
    B、建立一个数据库
    C、开机后自动启动一个程序
    D、播放一段音乐
  15. 短信内容提供者的主机名是(A)
    A、sms
    B、com.android.sms
    C、smsProvider
    D、com.android.smsProvider
  16. 在读取联系人信息案例中,没有操作的表是(D)
    A、raw_contacts
    B、data
    C、mimetypes
    D、contacts
  17. 在Provider的节点中,用来指定内容提供者的主机名的属性是(B)
    A、android:name
    B、android:authorities
    C、android:process
    D、android:label
  18. 可以在Activity中得到ContentResolver实例对象的方法是(B)
    A、new ContentResolver()
    B、getContentResolver()
    C、newInstance()
    D、ContentUris.newInstance()
  19. 在下列选项中,关于ContentResolver的说法错误的是(D)
    A、ContentResolver通过uri匹配到内容提供者
    B、通过ContentResolver可以在其它应用程序中访问内容提供者
    C、ContentResolver的增删改查方法与目标内容提供者的增删改查方法是一一对应
    D、ContentResolver不需要通过uri匹配到内容提供者
  20. 自定义内容观察者时,继承的类是(B)
    A、BaseObserver
    B、ContentObserver
    C、BasicObserver
    D、DefaultObserver
  21. 在下列选项中,关于content provider的功能说话正确的是(C)
    A、读取系统中的短信内容
    B、建立一个数据库
    C、开机后自动启动一个程序
    D、播放一段音乐
  22. 在Activity中,获得ContentResolver对象的方法是(A)
    A、getContentResolver()
    B、getResolver()
    C、getContentResolvers()
    D、getResolvers()

判断题

  1. Uri是由scheme、authorites、path三部分组成。( √ )
  2. Uri是指统一资源标示符。( √)
  3. ContentProvider与ContentResolver相互配合使用的。( √)
  4. path部分代表资源(或者数据),这个部分是不可改变的。( × )
  5. 内容提供者主要功能是实现跨程序共享数据的功能。( √ )
  6. ContentProvider中的getType()方法是用来获取当前Uri路径指定数据的类型。( √ )
  7. provider中的android:authorities代表了访问本provider的路径,这里的路径不是唯一的。( ×)
  8. provider中的android:name代表是继承于ContentProvider类的的全路径名称。( √ )
  9. Android中创建内容提供者需要继承【ContentProvider】类。( √ )
  10. ContentResolver的notifyChange(Uri uri,ContentObserver cob)方法中参数ContentObserver表示数据发生变化时指定具体的观察者接收消息。( √ )
  11. Android中的ContentResolver主要作用是获取通过内容提供者暴露出来的数据。( √ )
  12. Android中使用内容解析者查询联系人数据库信息的时候我们只要关心2张表就可以了。( ×)
  13. 利用内容观察者可以监听短信数据库的变化,当短信数据库发生变化的时候会执行内容观察者的onChange()方法。( √ )
  14. ContentProvider可以将数据暴露给其他程序。( √ )
  15. Android中通过内容解析者查询短信数据库的内容时,不需要加入读短信的权限.( × )
  16. 内容提供者为其他应用程序提供了统一的访问数据库的方式,可以让其他应用程序来调用。( √ )
  17. Android中的ContentResolver是Android的四大组件之一。( )
  18. Android中的短信数据库的内容我们可以直接通过内容解析者进行查询.( √ )
  19. Android中创建内容提供者要继承ContentObserver。( × )
  20. 联系人信息是存放在数据库的sms表中的。( × )
  21. 内容提供者只有在AndroidManifest.xml文件中注册后,才能运行。( √ )
  22. Android 中的ContentResolver 查询数据是通过url来获取内容提供者暴露的数据。( √ )
  23. 读取短息数据时,是通过内容提供者读取的。( ×)
  24. 在短信接收器案例中,自定义的短信内容提供者SmsContentObserver类,继承了ContentObserver类。( √ )
  25. 注册内容观察者是通过ContentResolver的registerContentObserver()方法注册的。( √ )
  26. ContentResolver的增删改查方法与目标内容提供者的增删改查方法不是一一对应的。( ×)
  27. 在短信接收器案例中,短信内容提供者的数据发生变化时,会触发onChange()方法的调用。( √ )
  28. ContentResolver是通过Uri匹配内容提供者的。( √ )

填空题

  1. 为了解析Uri对象,Android系统提供了一个辅助工具类__UriMatcher_用于匹配Uri。
  2. Android中通过ContentResover.query()查询短信数据库的时候,第一个Uri参数如何写__**Uri uri = Uri.parse(“content://sms”);
    **
    _
  3. 内容观察者是通过观察__指定的Uri_来观察数据库的变化
  4. _内容观察者(ContentObserver)__是用来观察指定Uri所代表的数据。
  5. 利用内容解析者读取短信数据库内容时,短信数据库_sms__表主要用来存储短信信息
  6. 使用__ContentResolver_可以操作其他应用的数据。
  7. resolver.registerContentObserver()方法用于_注册内容观察者__。
  8. 创建UriMatcher对象时调用UriMatcher(int code),参数通常使用UriMatcher.NO_MATCH,表示路径不满足条件返回_-1__。
  9. 当ContentObserver观察到指定Uri代表的数据发生变化时,就会触发ContentObserver的_onChange()__方法。
  10. 内容提供者把私有的数据给暴露出来,我们通过__ContentResolver_来进行查询数据
  11. 创建一个内容提供者类AccountContentProvider,需要让它继承父类__ContentProvider_
  12. 在Android中,是通过__ContentResolver_读取联系人信息的。
  13. 注册provider时需要指定两个属性_android:name__和android:authorities。
  14. 短信数据是存放在_sms__表中的。
  15. Android中通过内容提供者来读取联系人信息,__data_表用来保存联系人信息的.
  16. 在短信接收器案例中,注册短信内容观察者时,使用的到Uri是_Content://sms/__。
  17. _ContentObserver__主要是用来观察内容提供者里面数据的变化情况。
  18. 在Android中,通常使用__ContentResolver_调用内容提供者。
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值