我正在寻找一种使用PhoneGap
.
LocalStorage
- 文件输入/输出
- ?
我听说LocalStorage
不是 100% 永久的,而是在胡同的某个地方。
我真的不喜欢从文件 I/O 开始,因为我需要的是创建一个包含食谱的数据库,并且它们需要保留。
“3号”是我要问的。有什么建议么?
提前致谢 :)
我正在寻找一种使用PhoneGap
.
LocalStorage
我听说LocalStorage
不是 100% 永久的,而是在胡同的某个地方。
我真的不喜欢从文件 I/O 开始,因为我需要的是创建一个包含食谱的数据库,并且它们需要保留。
“3号”是我要问的。有什么建议么?
提前致谢 :)
我正在使用本地存储,这是保留已保存数据的最佳解决方案。就像你说的,它不是 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找到这方面的信息
如果您想在应用程序卸载后将数据永久存储在设备上,则必须在 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/
您可以执行以下步骤来永久保存任何数据,
您的 HTML 文件
<div id="deviceready">
<div id="result"></div>
</div>
你的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");
}
}
在 AppStore 中,当您发布应用程序的新版本时,所有存储在用户身上的数据都将被重置。在更新您的应用程序之前,您需要找到更好的方式来存储您的数据。