2012-01-09 18 views
7

Vorrei implementare un'app che consenta agli utenti di salvare la pagina Web comprese le immagini. Quindi gli utenti possono visualizzare nuovamente la pagina Web anche se non c'è accesso alla rete. Tuttavia, ho scoperto che non esiste alcuna API correlata come . Qualcuno ha un'idea o esperienza? qualcuno può dare qualche idea o il link del codice sorgente?Salva contenuto webview per la navigazione offline?

+0

scrivi quello che vuoi? –

risposta

8

Almeno per le pagine di base, questo dovrebbe essere possibile.

(1) Scaricare il file HTML invece di caricarlo direttamente in WebView. Quindi utilizzare WebView.loadData() o WebView.loadDataWithBaseUrl() per caricare la pagina nella vista. Non cestinare l'html, ne avrai bisogno in seguito.

(2) Impostare il proprio WebViewClient che sovrascrive [almeno] onLoadResource(). Quindi salva ogni singola risorsa richiesta dalla pagina.

(3) Ora hai l'HTML memorizzato e tutti i file necessari sul filesystem. Cerca attraverso l'HTML per i percorsi assoluti, ti conviene aggiornarli con una funzione di sostituzione in modo che siano o percorsi relativi (e funzionino sul filesystem) o percorsi assoluti dove hai salvato le immagini/css/etc. (sul filesystem)

(4) Scrivi il codice html nel filesystem.

Spero che questo aiuti.

In alternativa, è possibile salvare la pagina come immagine, essenzialmente acquisendo uno screenshot di WebView. Ciò non consentirebbe il copia/incolla, o il clic di collegamenti, ma sarebbe molto più semplice se tutto ciò che serve è "rivedere questo più tardi".

Problemi correlati