【问题标题】:How Native app works while there is no wifi connection没有 wifi 连接时本机应用程序如何工作
【发布时间】:2018-01-05 10:05:05
【问题描述】:

我想知道没有 wifi 连接时原生应用的工作原理。在没有 wifi 连接的情况下,我是否需要在应用程序代码中执行某些操作以将搜索到的数据保存在应用程序或手机中的某个位置?

我见过可以在 wifi 关闭时在应用内显示搜索数据的应用。如何做作品。我的数据来自一个 api,我打算用 REACT JS 构建一个应用程序。谢谢,

【问题讨论】:

  • 你必须使用你自己的数据库来实现你的目标..

标签: android ios performance reactjs


【解决方案1】:

正如@Chetak Bhimani 提到的,您可以使用 AsyncStorage 来缓存数据。为了更容易管理,您可以使用 REDUX 方法,您仍将使用 AsyncStorage 方法,但您不必手动 setItem 和 getItem。

基本上这是我在我的 React 本机应用程序中用来管理状态的方法,它的工作原理就像一个魅力。

希望对你有帮助

【讨论】:

    【解决方案2】:

    假设您在谈论 webview。您可以实现缓存并将缓存的到期设置为从不。然后告诉 webview 只从缓存中加载。

    【讨论】:

      【解决方案3】:

      您需要在互联网可用时调用网络服务并将数据存储在持久存储中。如果您使用 React-native 创建应用程序,那么您可以执行以下操作:

      您可以使用 React Native AsyncStorage 将数据存储到设备的本地存储中。

      import { AsyncStorage } from 'react-native'
      

      用它来保存数据

      AsyncStorage.setItem('key', 'value');
      

      AsyncStorage 仅接受值作为字符串,因此您可能需要在将值设置为 AsyncStorage 之前使用 stringify()

      并检索数据使用

      AsyncStorage.getItem('your key'); 
      

      【讨论】:

        【解决方案4】:

        支持webview离线支持的理想配置

        webview.getSettings().setAppCacheEnabled(true); webview.getSettings().setJavaScriptEnabled(false);//如果需要存储JS,这是必须的。 webview.getSettings().setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK);

        希望这会有所帮助。

        【讨论】:

          猜你喜欢
          • 2020-04-19
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2016-06-29
          • 1970-01-01
          • 1970-01-01
          • 2013-07-30
          相关资源
          最近更新 更多