Content Provider vs Direct Database Access (Transaction Management)
<p>I understand, at least on paper, the basic difference between the Content Provider and just directly accessing the SQLiteDatabase.  I have a functioning prototype for my application, and currently it is just directly hitting the database.  I don't really have any experience using the Content Provider pattern, but I have found out that I will need to share some data with another application.</p>

<p>I will only be sharing about 2 out of a dozen or so tables, so I was wondering if I should be just completely redoing the data layer to follow the Content Provider pattern, or just expose only those tables via a Content Provider for the sake of the other application and still directly access the database in the primary application.</p>

<p>One of the issues I ran into with my prototype was that I have some fairly complex transactions, and the code I wrote to get that working is not designed particularly well and isn't reusable at all.  As I add more functionality to this app, I'm going to need a better designed data access layer, before I set off writing my own, does anyone know of any good resources with design patterns for this type of thing already?  Also, if I need to go the Content Provider route, am I going to have solid control over the database transactions?</p>
