在React Native Apps之间共享数据库

时间:2018-09-18 10:27:00

标签: reactjs react-native

我正在构建两个反应本机应用程序,其中我需要保持一些共同点,例如用户名(登录)和其他一些信息。我尝试使用AsyncStorage(反应本机存储)进行存储,并且一切正常,但现在我需要使用当第一个应用程序中的用户登录成功时,这两个应用程序都有一个通用的数据库,然后另一个应用程序也应该登录。由于在这种情况下,不能使用Asyncstorage来响应本机中的任何其他选项。

USE CASE FLOW

3 个答案:

答案 0 :(得分:3)

新的隐私法不允许两个应用程序共享同一数据库。您唯一可以做的就是将数据库置于联机状态,并通过两个应用程序对其进行访问。至少在欧洲发生。无论如何,您不能将相同的AsyncStorage用于2个不同的应用程序。在此处查看更多信息:https://stackoverflow.com/a/48806319/8898886

答案 1 :(得分:2)

在Android中,系统设计不允许这样做。每个应用程序都有自己的沙箱。不久,一个应用程序无法访问另一个应用程序的数据库。

但是它可能会被骗,风险自负

您可以使用sqlite数据库,将数据库文件放在共享目录中,然后从每个应用访问该文件。请注意,每一个实际上意味着每个。设备上的每个应用程序都可以访问该文件,因此它不是存放敏感数据的安全地方。

建议的最佳解决方案是使用可从网络访问的外部数据库来存储数据。如果您认为付出的努力不值得,可以使用Firebase,例如。

答案 2 :(得分:1)

您不能在本地使用。但是使用 Firebase ,您可以使2个应用具有相同的Firebase Realtime database,因此您可以在2个应用之间共享数据(事件实时)。 我更喜欢将此React-native-firebase库用于React Native https://github.com/invertase/react-native-firebase