内容提供器用于应用程序间的数据提供和获取

比较常见的操作就是读取联系人,读取短信等功能

 

标准URI


Android中的内容Uri,给内容提供器中的数据建立了唯一标识符

scheme+authority+path(+id)  

例如:content://com.example.app.provider/table1,content://com.example.app.provider/table1/1

内容Uri对应的MIME类型:

路径结尾:vnd.android.cursor.dir/vnd.com.example.provider.table1

id结尾:vnd.android.cursor.item/vnd.com.example.provider.table1
 

ContentResolver访问内容提供器中的数据

ContentResolver contentResolver=getContentResolver();

ContentResolver提供了数据的CRUD,insert,update,delete,query

示例代码:读取联系人姓名和电话

        ContentResolver contentResolver=getContentResolver();        Cursor cursor=contentResolver.query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI,null,null,null,null);        if (cursor!=null){            while(cursor.moveToNext()){                String displayName=cursor.getString(cursor.getColumnIndex(ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME));                String number=cursor.getString(cursor.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));                Log.i(TAG, "onCreate: "+displayName+" "+number);            }        }

P.s.读取联系人信息要动态获取READ_CONTACTS权限

 

提供自己的内容提供器ContentProvider

新建一个类继承ContentProvider方法,覆写6个方法

用UriMatch类实现匹配Uri的功能

写完记得在AndroidManifest中注册

(用到的时候请自行研究,这里简单说明)

更多相关文章

  1. Android(安卓)Studio Api25 File Explorer 不显示内容问题的解决
  2. Android登陆界面实现清除输入框内容和震动效果
  3. Android写入配置信息
  4. Android(安卓)TableLayout TableRow点击变色效果
  5. Android(安卓)Studio中使用properties配置文件出现中文乱码问题
  6. 解决scrollview中内容改变后自动滑动到底部的问题
  7. Android之权限(permission)大全
  8. Android(安卓)WebView使用总结
  9. Android搜索关键字高亮显示

随机推荐

  1. ch07 Android(安卓)日期与时间对话框
  2. android GPS定位和卫星个数(源码)
  3. android 设置progressbar的背景颜色
  4. Android之drawable state各个属性详解
  5. android wpa_supplicant 流程分析
  6. Android(安卓)开发常用代码片段
  7. 实现Android图片圆角
  8. Android:密码显示隐藏
  9. Android(安卓)打开和关闭软键盘
  10. Android(安卓)手势识别中的两个默认实现S