Hello everybody!
I wonder if there is a generally preferred implementation paradigm in order to respect whether you want two completely different Android applications to access and work in the same database? Is it recommended or even technically possible to do it at all? What does this architecture look like?
I am currently considering using two applications of my own ContentProvider(both ContentProviderwill access the same database, never guaranteed at the same time, though). I also thought about creating a single content provider and allowed to use both applications when accessing the database. I prefer the first example, but not completely discarded later.
JUSTIFICATION:
I have two applications that need to access a shared database. The database itself stores data, but also describes the relationship between rows of data, typically describing a set of "forms", where the contents of the form; User interface elements, such as text fields, buttons, and various types of lists, are customizable. Both applications use this “description data” in the database to generate portions of the corresponding application user interface at run time.
Therefore, there are two aspects of two applications: one “administrative” aspect (managing the data structure and the relationship between data rows) and one “general user” aspect (reading / changing actual data values). This is a deliberate choice to separate these two aspects in separate applications.
ATTENTION! Data values are separated from the data structure, that is, the values are stored in one separate table, and the structure is described in another table. This means that two applications will significantly change two different tables in the same database, and they will never change the "other table", so to speak.
Any thoughts are greatly appreciated. The application is still at the planning stage, so it is time to make fundamental changes.