ContentProvider——内容提供者

今天,我们来说一下关于android四大组件之一的ContentProvider的创建以及使用
首先,我们先来了解一下ContentProvider。
ContentProvider在android中俗称为内容提供者,主要作用是可以操作其他的应用程序,也可以进行实现应用之间的数据共享。
在例如微信,QQ等App内,我们都会发现有一个匹配当前通讯录的功能,其实,这就是ContentProvider的一个例子,而ContentProvider还可以获取手机上的很多信息,例如获取短信,获取联系人信息,获得手机本地的一张图片等,这些都是ContentProvider的具体实现,下面,就让我们一起来实现一ContentProvider吧。
第一步:通过Activity的的代码来获取内容解析者

ContentResolver contentResolver = getContentResolver();//获取内容解析者

第二步:我们需要获取Uri,Uri相当与一把钥匙,可以通过这把钥匙来访问其他App的数据。不同的App所对应的Uri也是不同的,下面我们就来获取一个系统的短信

Uri contentUri = Telephony.Sms.CONTENT_URI;//手机短信的Uri

第三步:使用内容解析者来将Uri所对应的数据给获取

Cursor query = contentResolver.query(contentUri, null, null, null, null);//第一个参数:Uri,第二个参数:要查询的字段,第三个参数:查询的条件,第四个参数:条件的参数值,第五个参数:排序

第四步:我们可以使用while循环来将数据全部读出

while(query.moveToNext()){
    String string = query.getString(query.getColumnIndex(Telephony.Sms.BODY));//读取对应的字段名来获取数据
    Log.i("TAG", string);//将获取的数据给打印
}

这样,我们会发现我们手机上的短信全部的在控制台打印出来了,这就是一个简单的的读取手机上其他APP的数据操作了。
同时我们要注意在获取其他App的数据时,Uri和获取数据所对应的数据名一定要确认无误,否则会读取不到数据。
以上就是关于ContentProvider内容提供者的基本使用,感谢观看

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值