versiones run phone developer descargar cordoba app cordova mobile offline

cordova - run - ¿Qué base de datos usa PhoneGap y cuál es el límite de tamaño?



descargar cordova phonegap (3)

¿Entiendo qué base de datos utilizará PhoneGap con precisión?

Sí lo es. PhoneGap puede usar las bases de datos LocalStorage, SessionStorage o SQLite. También puede, alternativamente, usar PhoneGap para conectarse a las clases nativas de los dispositivos a través de un complemento, y pasar los datos de la clase nativa, que luego almacenará en el dispositivo.

¿Existe alguna documentación sólida sobre cuántos datos almacenará una base de datos PhoneGap de un tipo determinado? Si es una base de datos PhoneGap y no la implementación de la base de datos de los navegadores.

  1. LocalStorage :: 10MB
  2. SessionStorage :: 10MB
  3. Base de datos SQLite :: 50MB-80MB (depende del dispositivo)
  4. Base de datos nativa usando llamada de complemento :: cantidad de datos ilimitados
  5. IndexedDB :: 5MB. Aún existe. Pero muy defectuoso, hay una lista de dispositivos / sistemas operativos que lo ejecutan aquí

¿PhoneGap tiene planes para adherirse a los estándares de almacenamiento web y, por lo tanto, eliminar WebSQL a favor de indexedDB? Si es así, ¿podré seguir usando mi código WebSQL existente (a través de un built-in PhoneGap-polyfill) una vez que se haga el cambio a indexedDB?

WebSQL se está desaprobando lentamente. Su reemplazo es IndexedDB o SQLite. La mejor opción para usted, sin embargo, es SQLite o la base de datos nativa (por ejemplo, Core Data en el iOS)

En situaciones donde el tamaño de la base de datos es limitado y no puede expandirse con PhoneGap o la API de cuota, pero el acceso al sistema de archivos está disponible, es razonable suponer que los datos "adicionales" podrían almacenarse en el sistema de archivos del dispositivo o en una SD ¿tarjeta?

Definitivamente es posible.

  • En Android, puede especificar la ubicación de la base de datos y, por lo tanto, enviar datos a una base de datos externa.
  • En iOS, puede usar la llamada a la base de datos nativa para almacenar datos en CoreData, no hay memoria externa.
  • En todos los casos de todos los sistemas operativos, puede crear un archivo de base de datos plano, como un archivo de texto, almacenar sus datos en listas de valores-clave y luego incorporarlos a su aplicación en la primera ejecución. Tenga cuidado con la gestión de la memoria en este caso.

He agregado una explicación de cómo proceder con la codificación de las bases de datos SQLite y LocalStorage en mi respuesta .

Escribí una base de datos HTML5 que abstrae localStorage, indexedDB y WebSQL. Al usar HTML5 directo, mis opciones de base de datos se ven así:

  • IE10 - indexedDB - 1GB máximo
  • FireFox - indexedDB - ilimitado
  • Safari - WebSQL - 50 MB máximo
  • Chrome - IndexedDB (o Web SQL) - ilimitado (con la API de cuota HTML5 ref1 , ref2 )
  • Opera - WebSQL (hasta que cambien a webkit?) - ilimitado

Me gustaría expandir el tamaño máximo de la base de datos usando PhoneGap o la API de cuota. De la documentación de PhoneGap parece que la ecosfera actual de la base de datos de PhoneGap es:

  • WebSQL : Android, Blackberry, iPhone y webOS
  • localStorage - Windows Phone 7
  • indexedDB - Windows Phone 8 y, supongo, en todas partes indexedDB está disponible pero WebSQL no.

También están los complementos de PhoneGap SqlLite. iOS , Android , Windows Phone 8+

PREGUNTA 1 - ¿Entiende mi conocimiento de qué base de datos utilizará PhoneGap?

PREGUNTA 2 - ¿Existe alguna documentación sólida sobre la cantidad de datos almacenados en una base de datos PhoneGap de un tipo determinado? * Si es una base de datos PhoneGap y no la implementación de la base de datos de navegadores.

PREGUNTA 3 : ¿PhoneGap tiene planes para adherirse a los estándares de almacenamiento web y, por lo tanto, eliminar WebSQL a favor de indexedDB? Si es así, ¿podré seguir usando mi código WebSQL existente (a través de un built-in PhoneGap-polyfill) una vez que se haga el cambio a indexedDB?

PREGUNTA 4 : en situaciones donde el tamaño de la base de datos es limitado y no puede expandirse con PhoneGap o la API de cuota, pero el acceso al sistema de archivos está disponible, ¿es razonable suponer que los datos "adicionales" podrían almacenarse en el sistema de archivos del dispositivo o en una tarjeta SD?


IndexedDB -

  • Es incompatible con muchos tipos de sistemas operativos móviles y versiones
  • Solo es compatible con versiones muy específicas de SO móvil
  • Los desarrolladores no pueden usar SQL con IndexedDB. Las sentencias SQL se pueden usar en SQLite y WebSQL
  • La mayoría de los desarrolladores evitan activamente el uso de IndexedDB tanto como pueden

WebSQL -

  • Ha sido desaprobado por W3C lo que significa que ya no se mantiene ni desarrolla
  • Requiere otro complemento llamado Polyfill para permitir que las aplicaciones móviles funcionen con el popular sistema operativo móvil, como Google Android y Apple iOS.

SQLite -

  • Recibió un premio de Google
  • SQLite tiene su sitio web oficial. IndexedDB y WebSQL no
  • En Google, SQLite devuelve 1.8 millones de resultados. WebSQL devuelve un poco menos de 700K resultados e IndexedDB devuelve 282K resultados.
  • El desarrollador puede usar declaraciones SQL comunes con SQLite.

Si quieres un tutorial rápido sobre SQLite

Almacenamiento de la base de datos SQLite usando Android y Phonegap


Pude ejecutar una prueba en una tableta con Android 4.0.4. Utiliza WebSQL (una versión anterior de WebSQL que ni siquiera es compatible con db.changeVersion) y me permitió llenar todo el disco duro (12 GB con mi base de datos). No sé sobre otros dispositivos o cómo funcionan las tarjetas SD.