我至少在纸面上了解内容提供者和直接访问SQLite数据库的基本区别。我有一个适用于我的应用程序的函数原型,目前它只是直接访问数据库。我真的没有使用Content Provider模式的经验,但我发现我需要与另一个应用程序共享一些数据。内容提供者与直接访问数据库(事务管理)
我只会共享12个左右的表中的2个,所以我想知道是否应该完全重做数据层以遵循Content Provider模式,或只是通过Content Provider公开这些表为了其他应用程序的缘故,仍然直接访问主应用程序中的数据库。
我与我的原型遇到的问题之一是我有一些相当复杂的交易,我写的代码让我工作的设计不是特别好,并且根本不可重用。当我为这个应用程序添加更多功能时,我将需要一个更好设计的数据访问层,在我开始编写自己的应用程序之前,是否有人知道这种类型的设计模式有任何好的资源?另外,如果我需要转到内容提供者路线,我是否可以严格控制数据库事务?
谢谢,我同意没有理由只使用内容提供者来满足模式。事实上,直接访问数据库也是一种完全可行的模式。经过一番研究后,似乎ContentProvider无法管理多个API调用中的事务,就像我需要的那样(http://www.mail-archive.com/[email protected]/msg42281.html)我将坚持在核心应用程序中直接访问,只需添加ContentProvider即可公开所需内容。 – Mike 2010-08-08 22:40:42