第8章数据存储和存取.ppt

第8章数据存储和存取

* * * * 8.4 数据分享 8.4.3 使用数据提供者 更新操作 更新操作需要使用update()函数,参数定义与delete()函数相同,同样可以在URI中指定需要更新数据的ID,也可以在selection中声明更新条件 下面代码说明了如何更新ID为7的数据 ContentValues values = new ContentValues(); values.put(KEY_NAME, Tom); values.put(KEY_AGE, 21); values.put(KEY_HEIGHT, ); Uri uri = Uri.parse(CONTENT_URI_STRING + / + 7); int result = resolver.update(uri, values, null, null); 8.4 数据分享 8.4.4 示例 ContentProviderDemo是一个无界面的示例,仅提供一个ContentProvider组件,供其他应用程序进行数据交换 底层使用SQLite数据库,支持数据的添加、删除、更新和查询等基本操作 ContentResolverDemo是使用ContentProvider的示例,自身不具有任何数据存储功能,仅是通过URI访问ContentProviderDemo示例提供的ContentProvider 8.4 数据分享 8.4.4 示例 ContentProviderDemo文件结构 ContentResolverDemo文件结构 8.4 数据分享 8.4.4 示例 以上两个示例都包含一个相同的文件People.java,两个示例中的这个文件的内容也完全相同,定义了数据提供者和数据调用者都必须知道的信息 这些信息包括授权者名称、数据路径、MIME数据类型、CONTENT_URI和数据项名称等 下面分别给出People.java、PeopleProvider.java和ContentResolverDemo.java的完整代码,最后分别给出ContentProviderDemo示例和ContentResolverDemo示例的AndroidManifest.xml文件内容 8.4 数据分享 8.4.4 示例 People.java文件的完整代码 package edu.hrbeu.ContentResolverDemo; import .Uri; public class People{ public static final String MIME_DIR_PREFIX = vnd.android.cursor.dir; public static final String MIME_ITEM_PREFIX = vnd.android.cursor.item; public static final String MINE_ITEM = vnd.hrbeu.people; public static final String MINE_TYPE_SINGLE = MIME_ITEM_PREFIX + / + MINE_ITEM; public static final String MINE_TYPE_MULTIPLE = MIME_DIR_PREFIX + / + MINE_ITEM; 8.4 数据分享 8.4.4 示例 12. public static final String AUTHORITY = edu.hrbeu.peopleprovider; public static final String PATH_SINGLE = people/#; public static final String PATH_MULTIPLE = people; public static final String CONTENT_URI_STRING = content:// + AUTHORITY + / + PATH_MULTIPLE; public static final Uri CONTENT_URI = Uri.parse(CONTENT_URI_STRING); public static final String KEY_ID = _id; public static final String KEY_NAME = name; public static final String KEY_AGE = age; public static final String KEY_HEIGHT = height; } 8.4 数据分享 8.4.4 示例 PeopleProvider.java文

文档评论(0)

1亿VIP精品文档

相关文档