当前位置:   article > 正文

ContentProvider内容提供者和Android6.0以后的动态获取权限

ContentProvider内容提供者和Android6.0以后的动态获取权限

第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(
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/代码探险家/article/detail/953103
推荐阅读
相关标签
  

闽ICP备14008679号