安卓跨程序共享数据:内容提供器Content Provider

来源:互联网 发布:天刀网络不稳定 编辑:程序博客网 时间:2024/06/06 03:06

内容提供器主要用于可以在不同的应用程序中可以实现数据共享,一个程序可以访问另一个程序的数据,而且不会破坏数据的安全性。
内容提供器有两种用法,一种是利用他来读取和操作其他应用的数据,还有就是创建自己的内容提供器接口供其他程序访问,当一个应用通过内容提供器对他的数据提供了访问的接口,其他的任何程序就可以通过这个接口对数据进行访问。。
要借助Content Provider 来访问数据,就必须借助ContentResolve类,可以通过Context中的getContentResolver()方法获取到该类的实例,insert()方法用于添加我数据,update()方法用于更新数据,delete方法用于删除数据,query()方法用于查询数据。
ContentResolver中的方法不接收表名参数,使用url,它主要由两部分组成:权限(Authority,一般用包来进行命名)和路径(path,区分不同的表)
uri的标准格式如下:
content://com.example.app.provider/table1
content://com.example.app.provider/table2
在得到URL字符串的时候,还需要将他转换成URI对象才可以作为参数传入。
代码:Uri uri = Uri.parse(“content://com.example.app.provider/table1”)
转换后,就可以利用URI对象来查看表中的数据了。
代码:
Course course = getContentResolver().query(uri,projection,selection,selectionargs,sortOrder);

0 0