Как разрешить двум или более приложениям react native обмениваться данными друг с другом?

#android #ios #react-native #sharedpreferences #keychain

#Android #iOS #react-native #sharedpreferences #брелок

Вопрос:

Я работаю над POC, в котором я хочу обмениваться данными между двумя или более приложениями на одном устройстве. Я читал об общих настройках для Android, но в статье говорилось, что приложения могут считывать только сохраненные ими данные или они могут хранить данные как глобальные, и в этом случае все приложения в ОС могут считывать сохраненные данные. Аналогично, я подумываю об использовании Keychain для iOS.

Проблема вкратце: я хочу иметь возможность делиться частью данных с другими приложениями на устройстве.

Помимо общих настроек и связки ключей, есть ли какой-либо другой способ добиться этого?

Кроме того, все приложения будут написаны с использованием React Native.

Ответ №1:

Я не знаю, как вы собираетесь реализовать это в iOS/ReactNative , но в Android для обмена данными между приложениями вам нужно использовать ContentProvider

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

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

Вы можете найти больше информации здесь и очень хороший пример из здесь