Привет всем!
Интересно, существует ли вообще предпочтительная парадигма реализации, которую нужно соблюдать, если нужно, чтобы два совершенно разных приложения Android имели доступ и работали в одной базе данных? Рекомендуется или вообще технически возможно сделать это вообще? Как будет выглядеть такая архитектура?
На данный момент я собираюсь позволить двум приложениям реализовывать свои собственные ContentProvider
s (оба ContentProvider
s будут обращаться к одной и той же базе данных, хотя гарантировано никогда не будет одновременно). Я также думал о создании единого поставщика контента и позволил обоим приложениям использовать его при доступе к базе данных. Я предпочитаю первый пример, но не полностью отказался от более позднего.
ОБОСНОВАНИЕ:
У меня есть два приложения, которые должны получить доступ к общей базе данных. Сама база данных хранит данные, но также описывает отношения между строками данных, как правило, описывая набор «форм», где находится содержимое формы; Элементы пользовательского интерфейса, такие как текстовые поля, кнопки и различные виды списков, можно настраивать. Оба приложения используют эти «данные описания» в базе данных для генерации частей соответствующего пользовательского интерфейса приложения во время выполнения.
Следовательно, есть два аспекта этих двух приложений: один «административный» аспект (управление структурой данных и взаимосвязью между строками данных) и один «общий пользовательский» аспект (чтение / изменение фактических значений данных). Это сознательный выбор для разделения этих двух аспектов в отдельных приложениях.
ПРИМЕЧАНИЕ! Значения данных отделены от структуры данных, то есть значения хранятся в одной отдельной таблице, а структура описана в другой таблице. , Это означает, что эти два приложения по существу изменят две разные таблицы в одной и той же базе данных и никогда не изменят, так сказать, «другую таблицу».
Любые мысли очень ценятся. Приложение еще находится на стадии планирования, поэтому сейчас самое время внести фундаментальные изменения.