android Content Provider详解9

android Content Provider详解九Intents和数据操作应用可以通过Intent直接操作contentprovider。应用不调用

android Content Provider详解九

Intents和数据操作

应用可以通过Intent直接操作contentprovider。应用不调用ContentResolverContentProvider任何方法,而是发送一个intent启动一个activity,这个activity一般是provider所在应用的一部分,它负责取得数据并显示在自己的UI上。跟据intent中的action的不同,目标activity可能会提示用户对provider的数据作出修改。intent可能还包含显示在界面上的额外的数据;于是用户可选择在使用这些数据修改provider的数据之前改变这些数据。

你可能想使用intent方式来帮助保证数据的完整性。你的provider可能跟据所严格定义的商业逻辑来决定是否具有数据插入、更新、删除等操作。如果是这样,允许其它应用直接修改你的数据可能导致非法的数据出现。如果你想让开发者使用intent方式,需保证你的文档中对它有完整的说明。向他们解释为什么使用intent方式通过你的自己的应用UI来操作好于使用他们的代码。

处理要修改你的provider的数据的intent与处理其它intent没有什么区别。你可以从Intentsand Intent Filters学到更多信息。