第9天ContentProvider内容提供者
A:ContentProvider
一.ContentProvider介绍:
二.原理图
三.获取手机联系人,展现在ListView中并存储到数据库中
三.获取手机短信
B:自定义内容提供者
一.什么是自定义内容提供者
二.思路:
三.提供者代码:创建my_contentprovider moudle
四.内容索要方代码
A:ContentProvider
一.ContentProvider介绍:
1.ContentProvider内容提供者(四大组件之一)主要用于在不同的应用程序之间实现数据共享的功能。
2.技能get点:
(1)访问系统自带的内容提供者(******)
手机联系人/音频/视频/图库/短信/系统设置
(2)自己写内容提供者
3.注意:
二.原理图
三.获取手机联系人,展现在ListView中并存储到数据库中
(1)添加获取手机联系人的权限
<uses-permission android:name="android.permission.READ_CONTACTS" />
1
(2)获得手机联系人,展现在ListView中 并将信息存储到数据库中
uri:ContactsContract.CommonDataKinds.Phone.CONTENT_URI
字段:ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME:姓名
ContactsContract.CommonDataKinds.Phone.NUMBER:电话
//获取手机联系人
public void click1(View view) {
//TODO 1:获得ContentResolver
ContentResolver resolver = getContentResolver();
//TODO 2:确定uri和要查询的字段
Uri uri= ContactsContract.CommonDataKinds.Phone.CONTENT_URI;
String[] strs={ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME,ContactsContract.CommonDataKinds.Phone.NUMBER};
//TODO 3:执行查询并将结果遍历展现在ListView中和存储到本地的数据库中
Cursor cursor=resolver.query(uri,strs,null,null,null);
ArrayList<Phone> list=new ArrayList<>();
while(cursor.moveToNext(