2012-02-02 12 views
10

Sembra che sia stato chiesto prima ma non ho trovato una risposta soddisfacente.
Durante la creazione di un'applicazione IOS Phone gap, qualsiasi applicazione html5 su un IPAD è una restrizione alle dimensioni del database quando viene compilata su un'applicazione nativa? So che in generale esiste un limite di 5 MB per l'archiviazione nativa per le applicazioni Web. Questa limitazione è presente anche per le app native di visualizzazione Web?Dimensione massima del database WebSQL/SQLite all'interno di UIWebView (PhoneGap)

risposta

19

Sì, anche il DB WebKit è limitato a 5mo.

si può ingannare il sistema con questa soluzione: https://issues.apache.org/jira/browse/CB-330?focusedCommentId=13237796&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-13237796

oppure è possibile utilizzare un DB SQLite nativo (lo stesso WebSQL) con un plugin PhoneGap. Quel plugin salva il database nella cartella Documento (o puoi specificare un'altra cartella), e non ci sono limiti di dimensione e i dati vengono salvati da iCloud. (Ma attenzione, Apple non mi piace molto le app sprecare archiviazione iCloud)

Ecco il Native plug SQLite PhoneGap: https://github.com/davibe/Phonegap-SQLitePlugin Per quanto riguarda questo plugin, ci sono alcune differenze tra le API WebSQL, qui è un adattatore: https://gist.github.com/2009518

E se i dati sono importanti, è necessario salvarli su un server. Ho scritto una piccola lib per sincronizzare il database SQlite con un server: https://github.com/orbitaloop/WebSqlSync

+1

E Android? –

+0

Basta notare che il problema dell'eliminazione dei dati di Webkit è scomparso: in iOS 6 e versioni successive, i dati Web (SQL Web Storage e LocalStorage) da un oggetto UIWebView possono essere archiviati in una directory di cui verrà eseguito il backup. Per abilitare il backup di questi dati, impostare la chiave WebKitStoreWebDataForBackup su SÌ nei valori predefiniti dell'utente dell'app. Questo dovrebbe essere fatto solo se la tua app si basa su dati di contenuti web che non possono essere ricaricati. Se l'oggetto UIWebView apre collegamenti a contenuti Web arbitrari, questa chiave deve essere impostata su NO. La commutazione del valore di questa chiave non preserverà i dati della vista web esistenti. –

Problemi correlati