Интеграция моего модуля с собственной БД в другое приложение - PullRequest
4 голосов
/ 20 июня 2019

У меня есть приложение Notes, которое содержит БД, мне нужно использовать это приложение Notes в качестве библиотеки или модуля в двух моих родительских приложениях, как я могу использовать это в моих двух приложениях?

AAR:

Если я использую средства .aar, есть ли возможность создать или сохранить базу данных в модуле aar.

Подмодуль:

Если я перейду к подмодулю, мне нужно создать таблицу в каждом проекте.

Индивидуальное приложение:

Если я пойду за отдельным приложением, как я могу поделиться своими данными БД.

1 Ответ

1 голос
/ 30 июня 2019

Полагаю, лучший вариант для вас - использовать контент-провайдера.

Однако контент-провайдеры предназначены в первую очередь для использования другими приложения, которые обращаются к провайдеру с помощью клиента провайдера объект. Вместе провайдеры и клиенты провайдеров предлагают последовательную, стандартный интерфейс для данных, который также обрабатывает межпроцессные связь и безопасный доступ к данным.

Обычно вы работаете с контент-провайдерами в одном из двух сценариев; вы может захотеть реализовать код для доступа к существующему поставщику контента в другое приложение, или вы можете захотеть создать нового поставщика контента в вашем приложении для обмена данными с другими приложениями.

Источник: https://developer.android.com/guide/topics/providers/content-provider-basics

После того, как вы создали контент-провайдера в приложении Notes, доступ к другим приложениям может быть получен через распознаватель контента. Это полностью аналогично тому, как вы можете получить доступ к закладкам или контактам на Android.


Еще одно предложение: не забудьте также позаботиться о безопасности, если хотите поделиться только между своими приложениями.

Если вы используете контент-провайдера для обмена данными только между собственные приложения, желательно использовать андроид: protectionLevel атрибут установлен для защиты подписи. Разрешения на подпись не требуется подтверждение пользователя, чтобы они обеспечивали лучший пользовательский опыт и более контролируемый доступ к данным поставщика контента, когда приложения Доступ к данным подписан тем же ключом.

Источник: https://developer.android.com/training/articles/security-tips#ContentProviders

...