2014-05-13 44 views
0

在線閱讀許多資源,我無法找到關於哪種類型的存儲在iOS中是永久存儲的一致信息。大多數人說使用PhoneGap/Cordova Storage API。但是文檔中提到window.localStorage,原本使用任何方法都無法使用localStorage的沒有明確的聲明,有沒有的WebSQL提及,如何使用Cordova在iOS中永久存儲數據?

http://cordova.apache.org/docs/en/3.0.0/cordova_storage_storage.md.html

這頁http://www.html5rocks.com/en/tutorials/offline/quota-research/,表示只的WebSQL是永久性的在iOS 。但是我怎麼知道哪個API會在Cordova中使用WebSQL呢?

我使用window.openDatabase()?還有別的嗎?

回答

3

我認爲你是通過PhoneGap的存儲API的說明混淆。

這取決於你的數據有多大。您可以同時使用WebSQL或localStorage。科爾多瓦認爲它們都是「持久的」。使用WebSQL或localStorage將您的數據存儲在緩存中。

但是我怎麼知道哪個API將在Cordova中使用WebSQL?

使用var db = window.openDatabase("Database", "1.0", "test", 200000);

如果你的數據很小,你可以使用localStorage的,它允許你存儲鍵值對的數據。因此,您將數據庫定義爲

window.localStorage.setItem("key", "value"); 
+1

謝謝。我知道科爾多瓦認爲localStorage永久,但自ios 5.1,它不是 –

+0

我已經使用localStorage最近的ios7。有用。所有數據都將永久保存,直到您手動清除緩存。您可以考慮使用localstorage來進行身份驗證等操作。注意:只要應用程序處於打開狀態,請勿混用存儲數據的sessionStorage。 – Ulan

+0

在重新啓動手機時保存本地存儲嗎? –