Almacenamiento de un WebView para la navegación sin conexión

¿Cuál sería la mejor manera de obligar a Android a almacenar una vista web a un medio una vez que se carga la página?

Algunos detalles más:

  • Cada página será rica con imágenes, scripts y estilo.

  • Cada página será alrededor de 0.5 a 1 Megabyte.

  • Se guardarán una vez que se llame a OnFinishedLoading Override.

  • Sería mejor guardarlo en la tarjeta SD y luego usar el repo local para abrirlo.

No estoy seguro de si sólo debería utilizar una base de datos sql para las vistas web, o tomar cada vista y hacer una escritura a un archivo.

Si hago esto último, ¿cuál sería la forma más fácil para que no tenga que escribir un webcrawler completo para obtener cada archivo enlazado?

Para utilizar el almacenamiento en caché en Android, debe proporcionar un archivo de manifiesto HTML5 junto con su HTML.

<!DOCTYPE html> <html lang="en" manifest="manifest.file"> <head> ... 

El mecanismo de caché almacenará en caché cualesquiera entradas que usted enumerará en el archivo de manifiesto en una base de datos de SQLite. Tenga en cuenta que la base de datos es por aplicación, no por webview. (Tuve muchos problemas con esto).

En este artículo se explican todos los pasos necesarios para lograrlo. http://web.archive.org/web/20140314001433/http://alex.tapmania.org/2010/11/html5-cache-android-webview.html

Puede hacer un ejemplo de hola-mundo para el almacenamiento en caché utilizando esta página: http://html5demos.com/offlineapp

Puede guardar la caché en la tarjeta SD, siempre y cuando agregue el permiso WRITE_EXTERNAL_STORAGE al manifiesto de la aplicación.

¡Buena suerte!

  • Android precarga una url en WebView mientras se muestra la pantalla de bienvenida
  • El teclado flexible de Android oculta las entradas de CordovaWebView cuando está en pantalla completa
  • Aplicación existente explotando con Android 3.0 XOOM. ¿Fugas de ZoomButtonsController?
  • Enviar datos a la página cargada en WebView
  • WebView onPageFinished se está llamando cuando el error Página no disponible. ¿Solución?
  • Enviar solicitud de envío junto con HttpHeaders en Android
  • CookieSyncManager está ahora obsoleto, ¿qué puedo usar en su lugar?
  • La navegación privada está obsoleta en Android WebView desde la API 17. ¿Cuál es la alternativa?
  • Solicitud de URL de visualización web de Android con cadena de consulta
  • Configuración correcta de AppCache para Android WebView
  • Compruebe la conexión a Internet en Android WebView (Córdoba)
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.