《第一行代码》 第七章(访问其他程序中的数据:内容提供器)

1.内容提供器的用法一般有两种:一种是使用现有的内容提供器来读取和操作相应程序中的数据,另一种是创建自己的内容提供器来给我们的程序提供外部访问的接口

2.对于每一个应用程序而言,如果要想访问内容提供器中共享的数据,就必须借助ContentResolver类,可以通过getContentResolver()方法来获取到该类的实例,这个类中提供了一系列的方法来对数据进行CRUD操作,其中insert()方法添加数据,update()方法更新数据,delete()方法删除数据,query()来查询数据

3.不同于SQLite数据库,ContentResolver中的增删查改方法不是接收表名参数的,而是使用一个Uri参数代替,这个参数被称为内容URI,它给内容提供器中的数据建立了一个唯一的标识符:示例写法如下:

content://com.example.app.provider/table1
前面一部分是authority(用来对不同程序做区分,一般是写做程序的包名+.provider),后一部分path则是对同一个程序中的不同的表做区分的,即具体的表名,然后加上content://前缀是为了更好的区分这是一个内容URI。

4.在得到具体的URI字符串之后,还需要对其进行解析,将其解析成Uri对象才可以作为参数传入,解析的代码就是

Uri uri = Uri.parse("content://com.example.app.provider/table1")

你可能感兴趣的:(《第一行代码》 第七章(访问其他程序中的数据:内容提供器))