【问题标题】:How to use localStorage in Cordova mobile app?如何在 Cordova 移动应用程序中使用 localStorage?
【发布时间】:2016-10-25 05:40:36
【问题描述】:

请我开发了我的移动应用程序,主要使用 localStorage 来存储帐户信息和其他一些信息。该应用有手机版和浏览器版。

对于浏览器版本,我希望登录的用户在浏览器重新启动时不会被重定向到身份验证页面。这很好用,因为我的信息存储在 localStorage 中。另一方面,我的手机没有。用户每次重启应用时都必须登录。

请问我有什么选择?开发人员为移动存储使用什么选项?我必须使用数据库吗?如果是这样,应该使用哪一个?我在哪里可以找到关于这个主题的更好的文档?

注意:我将 Cordova 用于我的移动应用开发框架。

【问题讨论】:

  • localStorage.setItem("variable", value);

标签: html cordova mobile local-storage


【解决方案1】:

有一个插件可以使用 Cordova in this link 在 SQLite 数据库中存储数据 .您可以通过 Cordova in the doc 找到有关存储的更多详细信息。

【讨论】:

  • 为什么我的 localStorage 目前不起作用?这是否意味着我唯一的选择是使用 db ?
  • 我不知道,你应该解释你的本地存储问题,或者发布一些代码,本地存储应该可以在文档中提到的 Corodva 支持的所有平台上工作
  • 这是一个有点复杂的过程。安装插件不会让你很快输出。
  • 我在 Cordova/PhoneGap 上使用这个插件,它工作得非常好,你可以像这样安装它:cordova plugin add cordova-sqlite-storage --save,祝你好运。
【解决方案2】:

使用以下方法保存您的数据:

localStorage.setItem("variable", value);

使用以下命令从本地存储中检索它:

localStorage.getItem("variable");

就这么简单。 参考here

【讨论】:

  • @G 我实际上在做同样的事情,但在 deviceready 事件之外。 IT 不会持续存在。
  • 为什么在 deviceready 事件之外需要它?您可能只希望它们在您的this.platform.ready().then(() => {} ryt 中?
  • Click Here 我希望这个能解决你的疑问 :) @NuruSalihu
  • @G 我的应用是一个内置于 react js 的混合应用。一切都由 webpack 完成和编译。整个事情只是在 index.html 中引用
【解决方案3】:

由于某种原因,localStorage 与浏览器历史记录相关联。某些移动浏览器可以选择在退出时清除浏览器历史记录。如果该框中有复选标记,则每次关闭浏览器时都会清除 localStorage 以及浏览器历史记录!因此,您可以要求用户进入设置并取消选中该框。注意:旧 IE 浏览器、Opera Mini 和一些黑莓设备不支持 localStorage。

如果启用了 cookie,您可以使用一次性 cookie 代码自动登录用户,但该 cookie 必须在第一次使用后过期。用户登录后,服务器必须向客户端发出一个新的 cookie 代码。客户端可以使用该新 cookie 再次登录或保持会话活动。出于安全原因,不应两次使用相同的 cookie。并且服务器必须确保永远不会向两个不同的用户发出相同的代码!

我记得,大约 10 年前,我上网查看我的电子邮件,然后该网站立即让我登录了另一个用户的帐户!我本可以阅读那个人的私人电子邮件和资料,但我决定不阅读。我向管理员报告了这件事。问题可能是他们的服务器向我发出了一个随机的快速登录访问代码,而另一个用户不知何故获得了与我相同的访问代码。当我打开网站时,它以为我就是那个人。如果您的网站处理金钱和信用卡,您应该避免使用这种技术!任何一种自动登录对银行来说都是个坏主意!

【讨论】:

    猜你喜欢
    • 2015-05-15
    • 1970-01-01
    • 2015-03-10
    • 2015-03-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-08
    • 2015-12-29
    相关资源
    最近更新 更多