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