ContentProvider——内容提供者
程序员文章站
2022-07-08 10:42:09
...
今天,我们来说一下关于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内容提供者的基本使用,感谢观看
上一篇: 余承东点评P40系列:能给月亮拍视频、拍摄能力完秒三星苹果旗舰机
下一篇: 虽然偶尔犯浑,不小心被打