【问题标题】:Phonegap how to save permanent data on androidPhonegap如何在android上保存永久数据
【发布时间】:2012-11-25 13:11:54
【问题描述】:

我正在寻找一种使用PhoneGap 永久保存数据的方法。

  1. LocalStorage
  2. 文件 I/O
  3. ?

我听说LocalStorage 不是 100% 永久的,而是在胡同的某个地方。

我不太愿意从文件 I/O 开始,因为我需要创建一个包含食谱的数据库,并且它们需要保留。

“数字 3”是我要问的。有什么建议吗?

提前致谢:)

【问题讨论】:

    标签: database cordova local-storage


    【解决方案1】:

    您可以执行以下步骤来永久保存任何数据,

    1. 您的 HTML 文件

      <div id="deviceready">

      <div id="result"></div>
      

      &lt;/div&gt;

    2. 你的JS文件

      window.onload = function(){
      
          document.addEventListener("deviceready", init, false);
      }
      
      function init(){
       document.getElementById("signin").addEventListener("submit",login, false);
      }
      
      function saveData(){
        window.localStorage.setItem("header", 'Some Text Here');
      }
      
      function getData(){    
        document.getElementById("result").innerHTML = 
           window.localStorage.getItem("header");
        }
      }
      

    【讨论】:

    • 那么默认情况下,这个文件会存放在哪个文件夹?
    【解决方案2】:

    在 AppStore 中,当您发布应用的新版本时,所有存储在用户身上的数据都将被重置。在更新应用之前,您需要找到更好的数据存储方式。

    【讨论】:

      【解决方案3】:

      我正在使用本地存储,这是保存已保存数据的最佳解决方案。就像你说的,它不是 100% 永久的。就我而言,仅当您卸载应用程序时才会清除本地存储。使用 Phonegap 查找有关本地存储的更多信息 http://docs.phonegap.com/en/2.1.0/cordova_storage_storage.md.html#localStorage

      您可以在以下位置获取有关本地存储的更多信息 http://diveintohtml5.info/storage.html

      您也可以使用数据库。您可以在以下位置找到相关信息 http://docs.phonegap.com/en/2.1.0/cordova_storage_storage.md.html#openDatabase

      【讨论】:

      • @A.Magalhães 如果您更改默认浏览器,本地存储数据不会被删除吗?我在这个帖子上看到了:stackoverflow.com/questions/7750857/…
      • 它将被删除。有关如何保存即使重新安装应用程序仍然存在的数据的说明,请参阅下面的答案。
      【解决方案4】:

      如果您希望将数据永久存储在设备上即使在应用被卸载后,您必须在 iOS 和 android 上以不同的方式执行此操作。

      iOS 上,您可以使用钥匙串 https://github.com/shazron/KeychainPlugin

      Android 上,您可以使用文件插件,并将数据存储在 SD 卡 (cordova.file.externalRootDirectory) 上。

      在这两种情况下,即使用户重新安装应用,数据也会保留在设备上。

      如果您使用的是 ionic(或只是 angular),您可以使用 ng-persist 将这两个插件包装在一个 angular 服务中,并为 ios 和 android 提供相同的 API。

      更多详情在这里http://alexdisler.com/2014/04/23/persist-data-mobile-device-app-removed-uninstalled-cordova-ionic/

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-01-13
        • 1970-01-01
        • 2019-06-28
        • 1970-01-01
        • 2015-11-01
        • 2021-09-14
        相关资源
        最近更新 更多