2011-10-02 18 views
5

Ho letto del manifest della cache HTML5 e ho visto che Android supporta il caching dei siti Web utilizzando il manifest della cache. Voglio utilizzare il manifest della cache per scaricare tutte le risorse necessarie per il mio sito Web per il precaricamento, quindi aprire una WebView e visualizzare il sito Web remoto utilizzando le risorse pre-cache. Voglio pre-memorizzare la mia pagina remota in qualche modo, preferibilmente senza utilizzare una WebView per il processo di memorizzazione nella cache.C'è un modo per pre-memorizzare nella cache una pagina Web per la visualizzazione con un WebView Android?

Il problema con l'utilizzo di una WebView per il processo di pre-cache è che il caricamento della pagina Web viene eseguito con un rendering WebView ed esegue la pagina anziché scaricarla.

Ho letto questo: http://alex.tapmania.org/2010/11/html5-cache-android-webview.html, ma avere una cache di supporto per WebView non è quello che voglio. Voglio che il processo di caricamento sia istantaneo (supponendo che il manifest di cache/etags del sito remoto sia lo stesso della versione cache) subito dopo aver terminato la cache delle risorse, invece di aspettare che WebView si carichi e memorizzi tutto in cache il primo accesso.

Qual è il modo corretto di pre-memorizzazione nella cache delle pagine Web per la visualizzazione successiva?

Grazie!

risposta

8

Quello che vuoi fare è implementare un meccanismo per la cache di app, risorse collegate, cookie e archivio di database locale per le app HTML5 che utilizzano API di database, e questa è una parte importante di ciò che i browser fanno in questi giorni. Non raccomando di fare il caching da solo, non solo perché è tanto lavoro, ma anche perché non riesco a ricordare alcun metodo in WebView e ai suoi amici (WebViewClient, ecc.) Che accettano una cache esterna.

Ma il tuo problema ha una soluzione molto più semplice: puoi mettere un WebView nella tua vista e impostare il suo visibility su gone. Quindi rendilo visibile quando ha finito di caricare la pagina. WebView inoltre mantiene automaticamente la cache per l'app in modo che alla successiva esecuzione carichi la pagina più rapidamente.

Per nascondere il numero WebView e quindi visualizzarlo automaticamente, è sufficiente eseguire l'override di onPageFinished in WebViewClient.

+0

Funziona perfettamente – VictorPurMar

Problemi correlati