【问题标题】:Persist Geolocation Data with React Native使用 React Native 持久化地理位置数据
【发布时间】:2020-10-17 15:28:36
【问题描述】:

我正在构建一个具有地理定位功能的应用。如果用户没有互联网连接,我需要将地理位置数据存储在应用程序中,然后在设备重新连接到互联网后将其作为 JSON 数组发送到 Web 服务器并清除本地存储的数据。

我正在考虑使用 AsyncStorage 存储数据,据我了解,它的工作原理类似于浏览器的 LocalStorage。我担心的是,如果我必须在每次地理定位更新时解析和序列化数据,可能会出现重大的性能问题。在 React Native 中存储高频生成的数据还有哪些其他可能性?

【问题讨论】:

    标签: reactjs react-native geolocation storage


    【解决方案1】:

    对于少量的数据存储和检索,AsycnStrage 是最佳选择,性能上不会有问题。

    当然,AsyncStorage 的使用可能比较复杂。您还可以使用第三方库react-native-easy-app 来帮助您使用 AsyncStorage。它可以让AsyncStorage访问支持字符串、布尔类型、对象等,也可以支持直接访问和赋值形式的同步访问。持久存储。

    【讨论】:

    • 感谢您的回复。问题是新的地理定位数据会以高频率生成(至少每隔几秒一次)。因此,如果累积数据在 5 个小时内还没有发送到服务器,那么要存储在 AsyncStorage 中的信息就相当多,不是吗?将检查您提到的图书馆,看看它是否符合我的需求。再次感谢。
    【解决方案2】:

    你可以使用realm DB(https://realm.io/blog/introducing-realm-react-native),这对于本地存储大量数据的情况非常有用。

    您可以在应用运行时将数据存储在应用商店(Redux 或 Mobx)中,并在您退出应用或进入后台时将数据推送到领域数据库中。

    当您的连接恢复时,您可以从领域数据库中检索数据并将其发送到您的服务器,您可以使用 NetInfo 来监听网络连接更改。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-11-28
      • 2017-04-29
      • 1970-01-01
      • 1970-01-01
      • 2017-10-13
      • 2020-09-21
      相关资源
      最近更新 更多