1、ContentProviderTestActivity 类中有2个按钮,分别插入数据为查询数据
2、DataBaseConfiguation 为程序所用到的配置信息 注:TableConfiguation内部类实现BaseColumns,即声明了_ID 和 _COUNT
3、MyContentProvider 自定义ContentProvider,继承与ContentProvider
其中 uriMatcher 为Uri的匹配器,在静态块中初始化URI。 columnMap为表结构的映射mapping
在getType方法中要根据访问的Uri确定访问资源的类型,以字符串形式返回。
格式为:"vnd.android.cursor.dir/vnd.catking.userList"、"vnd.android.cursor.item/vnd.catking.userItem";
注释掉,对程序运行无影响。
注意:
static{
//初始化URI
uriMatcher = new UriMatcher(UriMatcher.NO_MATCH);
uriMatcher.addURI(DataBaseConfiguation.AUTHORITY, "user", USER_LIST_CODE);
uriMatcher.addURI(DataBaseConfiguation.AUTHORITY, "user/#", USER_RECORD_CODE);
红色字体中,的格式为xxx/xx,并不是/xxx/xx,其中*号匹配所有字符,#匹配所有数字
//表结构的映射
columnMap.put(DataBaseConfiguation.TableConfiguation._ID, DataBaseConfiguation.TableConfiguation._ID);
columnMap.put(DataBaseConfiguation.TableConfiguation.USER_NAME, DataBaseConfiguation.TableConfiguation.USER_NAME);
}
最后在AndroidManifest.xml里配上
<provider android:authorities="com.catking.contentprovider.MyContentProvider" android:name="com.catking.contentprovider.MyContentProvider" />
authorities的值必须与DataBaseConfiguation.AUTHORITY一致
分享到:
相关推荐
接下来,我们将通过一个例子来展示如何创建自定义ContentProvider。假设我们有一个名为`TestUser`的数据模型,存储用户信息,我们将其命名为`TestUserProvider`。我们需要在AndroidManifest.xml中声明这个...
"Android 自定义ContentProvider简单实例" Android 自定义ContentProvider简单实例主要介绍了Android 自定义ContentProvider简单实例的相关资料,需要的朋友可以参考下。Android 允许我们定义自己的ContentProvider...
本例子“ContentProvider完整例子”将带你深入理解ContentProvider的工作原理及其应用。 首先,ContentProvider是Android系统提供的一种标准化的数据访问接口,它可以暴露应用中的数据给其他应用,同时也允许应用...
8. **自定义ContentProvider的最佳实践** - 保持Uri结构清晰,避免过于复杂的Uri设计。 - 在ContentProvider中使用SQLite数据库可以方便地管理数据,同时提供高效的查询能力。 - 考虑到性能,优化`query()`等方法...
在这个例子中,`MainActivity`包含了一系列的按钮,用于执行对自定义ContentProvider的各种操作,如添加、删除、更新和查询数据。 1. **ContentProvider的定义与注册**: 在AndroidManifest.xml文件中,你需要为...
"android contentprovider的例子"这个主题将带你深入理解ContentProvider的工作原理及其实际应用。 ContentProvider是Android四大组件(Activity、Service、BroadcastReceiver、ContentProvider)之一,它为其他...
一个自定义的ContentProvider需要继承自`android.content.ContentProvider`类,并实现其核心方法,如`onCreate()`、`query()`、`insert()`、`update()`、`delete()`等。`onCreate()`方法在ContentProvider启动时被...
这个测试项目提供了一个实际的例子,展示了如何创建一个完整的自定义ContentProvider,以及如何在其他组件中调用这个Provider进行数据操作。 总结,通过自定义ContentProvider,我们可以使SQLite数据库的数据在多个...
在Android中,创建一个自定义的ContentProvider通常需要以下步骤: 1. **定义ContentProvider类**:继承自`android.content.ContentProvider`,并覆盖其核心方法,如`onCreate()`、`query()`、`insert()`、`update...
2. `ContentProvider.java`:这是自定义的ContentProvider实现,它会处理对SQLite数据库的查询、插入、更新和删除操作。你需要在这里定义URI映射,以及对应的方法实现。 3. `MainActivity.java`:这是应用的主入口...
这是一个contentprovider的例子,里面包含了对数据库的操作,还有listview的应用和自定义的dialog应用,可是在后期中由于着重是测试provider,所以可能对那两个应用的少量代码删了一点,可是很好理解一看就明白,...
创建自定义ContentProvider的步骤主要包括以下几点: 1. 定义Uri:每个ContentProvider都有一组特定的Uri,用于唯一标识要访问的数据。Uri通常由两部分组成:authority和path,authority用于识别提供者,path则指向...
- `ContentProvider`类是所有自定义ContentProvider的基类,需要继承该类并重写关键方法,如`query()`, `insert()`, `update()`, `delete()` 和 `getType()`。 - `UriMatcher`用于匹配URI,根据URI的不同模式执行...
通过这个简单的例子,开发者可以进一步了解ContentProvider的工作原理,为后续更复杂的自定义ContentProvider开发打下基础。同时,理解并掌握ContentProvider的使用,对于开发需要共享数据的应用来说,具有重要的...
在"Task3_2_ContentProvider"的项目中,可能包含了创建自定义ContentProvider的源码、测试用例,以及如何在其他应用中使用这个ContentProvider的指导。通过学习和实践这个例子,开发者可以深入理解ContentProvider的...
接下来,我们将探讨如何创建一个自定义的ContentProvider。首先,你需要创建一个继承自`android.content.ContentProvider`的类,并重写其中的关键方法,如`onCreate()`、`query()`、`insert()`、`update()`和`delete...
在这个例子中,你可以学习到如何自定义Uri匹配规则,编写数据操作的逻辑,以及如何在其他应用中通过ContentResolver调用这些方法。 - **ContentProviderClient.zip**:这个项目可能是一个使用ContentProvider的...
在《Android开发艺术探索》一书中的例子中,开发者可能会创建一个简单的ContentProvider,用于共享一些基本的数据,例如联系人信息或者自定义的数据结构。这个例子会详细展示如何定义URI,编写ContentProvider类以及...