用途

不同于File, SharedPreferences和DataBase,Content Provider主要用于不同的应用程序间共享数据,允许一个程序安全的访问另一个程序中的数据。

用法

通过Context的getContentResolver()取得该类的实例。然后是和数据库相似的CRUD操作,其中query()方法返回Cursor对象,可以通过moveToNext()将数据逐一读出,然后是cursor.clse()关闭。

        // Get the Cursor of all the contacts
Cursor cursor = cr.query(ContactsContract.Contacts.CONTENT_URI,
null, null, null, null); // Move the cursor to first. Also check whether the cursor is empty or not.
if (cursor.moveToFirst()) {
// Iterate through the cursor
do {
// Get the contacts name
String name = cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME));
contacts.add(name);
} while (cursor.moveToNext());
}
// Close the curosor
cursor.close();

自定义内容提供器

如果要实现自己的内容提供器,要继承自ContentProvider,然后去覆盖onCreate, query, insert, update, delete, getType六个方法,这六个方法必须全部重写。

最新文章

  1. Html.DropDownList
  2. js搜索框输入提示(高效-ys8)
  3. Linux下nice/renice命令小结
  4. leetcode reverse bits python
  5. 基于Linux的oracle数据库管理 part5( linux启动关闭 自动启动关闭 oracle )
  6. python解惑之 __file__ 与argv[0]
  7. MVC怎么在同一个action返回两个表的数据
  8. Android Drawable系列(1):自定义背景以及注意事项
  9. Hibernate不同DB的日期查询
  10. JavaScript判断数据类型总结
  11. shell练习--用户下载交互检测
  12. SpringMVC(二) —— 中文乱码处理
  13. leetcode 4sum python
  14. python学习之元组与文件
  15. java集合 源码解析 学习手册
  16. Javascript高级编程学习笔记(19)—— 对象属性
  17. Hadoop 系列(三)Java API
  18. data:image/png;base64 上传图像将图片转换成base64格式
  19. vi/vim使用进阶: 文件浏览和缓冲区浏览
  20. 使用JSTL的sql:query标签制作分页查询遇到NoSuchFieldError: deferredExpression

热门文章

  1. Spark学习(一) -- Spark安装及简介
  2. 封装的ajax请求
  3. replace和replaceAll
  4. miniui
  5. appium 常用API
  6. 数据库查询优化-SQL优化
  7. VB模拟键盘输入的N种方法
  8. JQuery筛选器全系列介绍
  9. AR/VR技术交流
  10. C#快捷键