选择题
- 在ContentProvider中ContentUris的作用是干什么( A)。
A、用于获取Uri路径后面的ID部分
B、增删改查的方法都在这个类中
C、用于添加URI的类
D、根本就用不到这个类,没关系 - 利用内容解析者查询短信数据时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/”); - Android中创建内容提供者要继承( B )。
A、ContentData
B、ContentProvider
C、ContentObserver
D、ContentDataProvider - 在Android中的Activity种通过下面哪个方法来得到ContentResolver的实例对象(B)。
A、new ContentResolver
B、getContentResolver()
C、newInstance()
D、ContentUris.newInstance() - 若要实现对系统联系人的增删改查,需要使用的系统ContentProvider的Uri为(C )。
A、Contacts.Photos.CONTENT_URI
B、Contacts.People.CONTENT_URI
C、Contacts.Phones.CONTENT_URI
D、Media.EXTERNAL_CONTENT_URI - ContentProvider中的()方法根据传入的Uri查询指定条件下的数据。
A、delete
B、insert
C、query
D、update - 定义一个ContentProvider过程中,需要增加匹配的uri,请问在UriMatcher.addURI(“youAuthority”,”item/*”,1)语句中井号**代表(A)。
A、某个字段
B、表名
C、匹配任意URI
D、id - 当观察到的Uri代表的数据发生变化时,会触发ContentObserver中的(C)方法。
A、onCreate()
B、notifyChange()
C、onChange()
D、以上说法都不对 - 短信的内容提供者是(C)
A、ContactProvider
B、MessageProvider
C、SmsProvider
D、TelephonyProvider - 在下列选项中,联系人信息内容提供者的主机名是(B)
A、contact
B、com.android.contacts
C、com.android.provider.contact
D、com.android.provider.contacts - 下面关于ContentProvider描述错误的是( C )。
A、ContentProvider可以暴露数据
B、ContentProvider用于实现跨程序共享数据
C、ContentProvider不是四大组件
D、ContentProvider通过Uri的形式对外提供数据 - 在下列选项中,关于内容提供者的说法错误的是(D)
A、ContentProvider 是一个抽象类,只有继承后才能使用
B、内容提供者只有在AndroidManifest.xml文件中注册后才能运行
C、内容提供者为其它应用程序提供了统一的访问数据库的方式
D、内容提供者不是抽象类 - 如果要调用现成的 ContentProvider,获得如下(B )对象才能调用其方法进行增删查改。
A、CursorLoader
B、ContentResolver
C、Cursor
D、ContentProvider - 下面哪些功能需要用ContentProvider来实现(C)。
A、读取系统中的短信内容
B、建立一个数据库
C、开机后自动启动一个程序
D、播放一段音乐 - 短信内容提供者的主机名是(A)
A、sms
B、com.android.sms
C、smsProvider
D、com.android.smsProvider - 在读取联系人信息案例中,没有操作的表是(D)
A、raw_contacts
B、data
C、mimetypes
D、contacts - 在Provider的节点中,用来指定内容提供者的主机名的属性是(B)
A、android:name
B、android:authorities
C、android:process
D、android:label - 可以在Activity中得到ContentResolver实例对象的方法是(B)
A、new ContentResolver()
B、getContentResolver()
C、newInstance()
D、ContentUris.newInstance() - 在下列选项中,关于ContentResolver的说法错误的是(D)
A、ContentResolver通过uri匹配到内容提供者
B、通过ContentResolver可以在其它应用程序中访问内容提供者
C、ContentResolver的增删改查方法与目标内容提供者的增删改查方法是一一对应
D、ContentResolver不需要通过uri匹配到内容提供者 - 自定义内容观察者时,继承的类是(B)
A、BaseObserver
B、ContentObserver
C、BasicObserver
D、DefaultObserver - 在下列选项中,关于content provider的功能说话正确的是(C)
A、读取系统中的短信内容
B、建立一个数据库
C、开机后自动启动一个程序
D、播放一段音乐 - 在Activity中,获得ContentResolver对象的方法是(A)
A、getContentResolver()
B、getResolver()
C、getContentResolvers()
D、getResolvers()
判断题
- Uri是由scheme、authorites、path三部分组成。( √ )
- Uri是指统一资源标示符。( √)
- ContentProvider与ContentResolver相互配合使用的。( √)
- path部分代表资源(或者数据),这个部分是不可改变的。( × )
- 内容提供者主要功能是实现跨程序共享数据的功能。( √ )
- ContentProvider中的getType()方法是用来获取当前Uri路径指定数据的类型。( √ )
- provider中的android:authorities代表了访问本provider的路径,这里的路径不是唯一的。( ×)
- provider中的android:name代表是继承于ContentProvider类的的全路径名称。( √ )
- Android中创建内容提供者需要继承【ContentProvider】类。( √ )
- ContentResolver的notifyChange(Uri uri,ContentObserver cob)方法中参数ContentObserver表示数据发生变化时指定具体的观察者接收消息。( √ )
- Android中的ContentResolver主要作用是获取通过内容提供者暴露出来的数据。( √ )
- Android中使用内容解析者查询联系人数据库信息的时候我们只要关心2张表就可以了。( ×)
- 利用内容观察者可以监听短信数据库的变化,当短信数据库发生变化的时候会执行内容观察者的onChange()方法。( √ )
- ContentProvider可以将数据暴露给其他程序。( √ )
- Android中通过内容解析者查询短信数据库的内容时,不需要加入读短信的权限.( × )
- 内容提供者为其他应用程序提供了统一的访问数据库的方式,可以让其他应用程序来调用。( √ )
- Android中的ContentResolver是Android的四大组件之一。( )
- Android中的短信数据库的内容我们可以直接通过内容解析者进行查询.( √ )
- Android中创建内容提供者要继承ContentObserver。( × )
- 联系人信息是存放在数据库的sms表中的。( × )
- 内容提供者只有在AndroidManifest.xml文件中注册后,才能运行。( √ )
- Android 中的ContentResolver 查询数据是通过url来获取内容提供者暴露的数据。( √ )
- 读取短息数据时,是通过内容提供者读取的。( ×)
- 在短信接收器案例中,自定义的短信内容提供者SmsContentObserver类,继承了ContentObserver类。( √ )
- 注册内容观察者是通过ContentResolver的registerContentObserver()方法注册的。( √ )
- ContentResolver的增删改查方法与目标内容提供者的增删改查方法不是一一对应的。( ×)
- 在短信接收器案例中,短信内容提供者的数据发生变化时,会触发onChange()方法的调用。( √ )
- ContentResolver是通过Uri匹配内容提供者的。( √ )
填空题
- 为了解析Uri对象,Android系统提供了一个辅助工具类__UriMatcher_用于匹配Uri。
- Android中通过ContentResover.query()查询短信数据库的时候,第一个Uri参数如何写__**Uri uri = Uri.parse(“content://sms”);
**_ - 内容观察者是通过观察__指定的Uri_来观察数据库的变化
- _内容观察者(ContentObserver)__是用来观察指定Uri所代表的数据。
- 利用内容解析者读取短信数据库内容时,短信数据库_sms__表主要用来存储短信信息
- 使用__ContentResolver_可以操作其他应用的数据。
- resolver.registerContentObserver()方法用于_注册内容观察者__。
- 创建UriMatcher对象时调用UriMatcher(int code),参数通常使用UriMatcher.NO_MATCH,表示路径不满足条件返回_-1__。
- 当ContentObserver观察到指定Uri代表的数据发生变化时,就会触发ContentObserver的_onChange()__方法。
- 内容提供者把私有的数据给暴露出来,我们通过__ContentResolver_来进行查询数据
- 创建一个内容提供者类AccountContentProvider,需要让它继承父类__ContentProvider_
- 在Android中,是通过__ContentResolver_读取联系人信息的。
- 注册provider时需要指定两个属性_android:name__和android:authorities。
- 短信数据是存放在_sms__表中的。
- Android中通过内容提供者来读取联系人信息,__data_表用来保存联系人信息的.
- 在短信接收器案例中,注册短信内容观察者时,使用的到Uri是_Content://sms/__。
- _ContentObserver__主要是用来观察内容提供者里面数据的变化情况。
- 在Android中,通常使用__ContentResolver_调用内容提供者。