【发布时间】:2011-01-14 22:28:50
【问题描述】:
目标:从 XML 数据刷新数据库
过程:
- 开始交易
- 删除表格中的所有现有行
- 将解析后的 XML 插入行的每个主要元素插入主表并获取 PK
- 每个主元素的每个子元素插入记录到第二个表中,提供上一步的 FK
- 提交事务
就数据库操作而言,相当标准的东西。问题是 CRUD 操作不是在 ContentProvider 内完成,而是使用 ContentResolver,因此插入示例看起来像 resolver.insert(CONTENT_URI, contentValues)。 ContentResolver API 似乎与事务无关,我不能使用bulkInsert,因为我间歇性地插入 2 个表(另外我也希望在事务中包含delete)。
我正在考虑使用registerContentObserver 将我的自定义ContentProvider 注册为侦听器,但由于ContentResolver#acquireProvider 方法被隐藏,我如何获得正确的参考?
我运气不好?
【问题讨论】:
-
您找到解决方案了吗?我找不到有效的解决方案
标签: android sqlite transactions android-contentprovider android-contentresolver