20

我正在寻找一种使用PhoneGap.

  1. LocalStorage
  2. 文件输入/输出
  3. ?

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

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

“3号”是我要问的。有什么建议么?

提前致谢 :)

4

4 回答 4

26

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

您可以在http://diveintohtml5.info/storage.html上获得有关 localstorage 的更多信息

您也可以使用数据库。您可以在 http://docs.phonegap.com/en/2.1.0/cordova_storage_storage.md.html#openDatabase找到这方面的信息

于 2012-12-07T11:44:06.930 回答
6

如果您想在应用程序卸载后将数据永久存储在设备上,则必须在 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/

于 2015-05-01T20:33:34.267 回答
0

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

  1. 您的 HTML 文件

    <div id="deviceready">

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

    </div>

  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");
      }
    }
    
于 2018-06-26T11:12:59.810 回答
-1

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

于 2017-12-05T18:01:36.913 回答