2012-01-09 13 views
7

Me gustaría implementar una aplicación que permita a los usuarios guardar la página web incluyendo imágenes. Luego, los usuarios pueden ver la página web de nuevo incluso si no hay acceso a la red. Sin embargo, descubrí que no hay API relacionada para hacerlo. ¿Alguien tiene idea o experiencia? ¿Alguien puede dar alguna idea o un enlace de código fuente?¿Guardar contenido de vista web para navegar sin conexión?

+0

¿escribes lo que quieres? –

Respuesta

8

Al menos para páginas básicas, esto debería ser posible.

(1) Descargue el archivo HTML en lugar de cargarlo directamente en WebView. Luego use WebView.loadData() o WebView.loadDataWithBaseUrl() para cargar la página en la vista. No basura el html, lo necesitarás más tarde.

(2) Configure su propio WebViewClient que anula [al menos] onLoadResource(). A continuación, guarde todos los recursos solicitados por la página.

(3) Ahora tiene el HTML almacenado y todos los archivos necesarios en el sistema de archivos. Busque en el HTML las rutas absolutas, querrá actualizarlas con una función de reemplazo para que sean rutas relativas (y funcionen en el sistema de archivos) o rutas absolutas a donde guardó las imágenes/css/etc. (en el sistema de archivos)

(4) Escriba el html en el sistema de archivos.

Espero que esto ayude.

Alternativamente, probablemente podría guardar la página como una imagen, básicamente tomando una captura de pantalla de WebView. Esto no permitiría copiar/pegar, o hacer clic en los enlaces, pero sería mucho más simple si todo lo que necesitas es "ver esto más tarde".

Cuestiones relacionadas