2023学年完整公开课版访问系统 ContentProviderv1_第1页
2023学年完整公开课版访问系统 ContentProviderv1_第2页
2023学年完整公开课版访问系统 ContentProviderv1_第3页
2023学年完整公开课版访问系统 ContentProviderv1_第4页
2023学年完整公开课版访问系统 ContentProviderv1_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

北京电子科技职业学院移动应用软件开发(基于Android平台)01访问系统ContentProvider

如果希望数据能够共享,要么建立一个自己的ContentProvider;要么将自己的数据添加到已经存在的ContentProvider。ContentProvider类的开发比较麻烦,因为涉及的类很多。在实际应用中一般不会要求自己开发ContentProvider,系统为用户开发了许多的ContentProvider,一般只需要知道通过Uri操作这些ContentProvider就可以了。

使用ContentProvider存储数据Android系统提供了多种数据类型的ContentProvider(声音,视频,图片,联系人等),它们大都位于vider包中,例如:Browser:读取或修改书签,浏览历史或网络搜索;CallLog:查看或更新通话历史;Contacts:获取,修改或保存联系人信息;LiveFolders:由ContentProvider提供内容的特定文件夹;MediaStore:访问声音,视频和图片;Setting:查看和获取蓝牙设置,铃声和其他设置偏好;SearchRecentSuggestions:该类能为应用程序创建简单的查询建议提供者;SyncStateContract:用于使用数据数组账号关联数据的ContentProvider约束;UserDictionary:在可预测文本输入时,提供用户定义的单词给输入法使用;等等。

使用ContentProvider存储数据1.获取所有联系人信息要获取这些联系人信息按照下面的步骤进行:1)利用getContentResolver()方法得到一个ContentResolver实例;例如:ContentResolvercr=this.getContentResolver();//得到ContentResolver对象

2)然后通过查询方式获取联系所有信息;例如:Cursorcursor=cr.query(ContactsContract.Contacts.CONTENT_URI,null,null,null,null);

使用ContentProvider存储数据3)循环读取每条记录的信息,逐个读出姓名、电话、email等信息;例如:for(cursor.moveToFirst();!cursor.isAfterLast();cursor.moveToNext()){IntnameIndex=cursor.getColumnIndex(ContactsContract.Contacts. DISPLAY_NAME);Stringname=cursor.getString(nameIndex);//取得联系人名字sbLog.append("name="+name+";"); //取得联系人IDStringcontactId=cursor.getString(cursor.getColumnIndex(Contacts Contract.Contacts._ID)); //根据联系人ID查询对应的电话号码

CursorphoneNumbers=cr.query(ContactsContract.CommonDataKinds. Phone.CONTENT_URI,null,ContactsContract.CommonDataKinds. Phone.CONTACT_ID+"="+contactId,null,null); //根据联系人ID查询对应的email

使用ContentProvider存储数据Cursoremails=cr.query(ContactsContract.CommonDataKinds.Email.CONTENT_URI,null,ContactsContract.CommonDataKinds.Email.CONTACT_ID+"="+contactId,null,null);}4)显示获取的信息。例如:text.setText(sb.toString());5)修改AndroidManifest.xml权限,在文件中添加如下代码:<uses-permissionandroid:name="android.permission.READ_CONTACTS"/>

使用ContentProvid

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论