Versión de SQLite utilizada en Android?
¿Cuál es la versión de SQLite utilizada en Android?
Razón: Me pregunto cómo manejar migraciones de esquema. Las versiones más recientes de SQLite soportan un comando SQL "ALTER TABLE" que me ahorra tener que copiar datos, soltar la tabla, recrear la tabla y volver a insertar datos.
- Cómo utilizar join consulta en CursorLoader cuando su constructor no lo admite
- android sqlite crea índice con la cláusula where falla
- Utilizar CursorLoader para consultar la base de datos SQLite y rellenar AutoCompleteTextView
- Error al leer la fila 0, columna 0 de una CursorWindow que tiene 0 filas, 64 columnas
- Acceso directo android, acceso db lanzador
- Tamaño máximo de la base de datos SQLite en la memoria de una aplicación para Android?
- Contactos de Android: Colocación / clasificación local incorrecta
- ¿Cómo actualizar una base de datos SQLite y NO perder todos los datos existentes?
- ArrayAdapter: debe proporcionar un id de recurso para una vista de texto
- Copia de seguridad de Android y restauración de la base de datos desde y hacia la tarjeta SD
- "AS" equivalente en sqlite
- ¿Es buena idea usar las preferencias compartidas de Android para almacenar grandes cantidades de datos?
- Android SQLite Eliminar fila de la tabla Donde 2 Argumentos
UPDATE OCT 2016 : Aquí hay un enlace a los documentos oficiales actualizados que incluye los puntos principales en esta respuesta: android.database.sqlite package-level javadoc
Uso de los emuladores (adb shell sqlite3 –version):
ACTUALIZACIÓN: Lo sentimos, los diffs de API de nivel de paquete (SDK 18 y anteriores) anteriores han dejado de funcionar: https://code.google.com/p/android/issues/detail?id=175329
SQLite 3.18.0 :
- 26-8.0.0 – O (beta 3)
SQLite 3.9.2 :
- 25-7.1.1-N MR1
- 24 -7.0-N (nota: las vistas previas usaron la misma versión)
SQLite 3.8.10.2 :
- 23-6.0-M (nota: M Preview 1 (SDK nivel 22) utilizado 3.8.10 )
SQLite 3.8.6 :
- 22-5.1.1-Lollipop
SQLite 3.8.4.3 :
- 21-5.0-Lollipop
SQLite 3.7.11 :
- 20-4.4W.2-Android Wear
- 19-4.4-KitKat
- 18-4.3-Jelly Bean
- 17-4.2-Jelly Bean
- 16 -4,1-Jelly Bean
SQLite 3.7.4 :
- 15-4.0.3-Sandwich de helado
- 14 -4.0-Sandwich de helado
- 13-3.2-Nido de abeja
- 12-3.1-Nido de abeja
- 11 -3.0-Nido de abeja
SQLite 3.6.22 :
- 10-2.3.3-Pan de jengibre
- 9-2.3.1-Pan de jengibre
- 8 -2.2-Froyo
SQLite 3.5.9 :
- 7-2.1-Eclair
- 4-1.6-Donut
- 3 -1.5-Cupcake
Nota: los enlaces de nivel SDK de Android muestran dónde ha cambiado el paquete android.database.sqlite . Donde no hay enlace (por ejemplo, SDK nivel 17), indica que no hay cambios en ese paquete.
Nota: Aquí están algunas anomalías (lista de ninguna manera exhaustiva):
SQLite 3.7.13 (en lugar de 3.7.11):
- LG Optimus L70 MS323 LGMS323 | KOT49I.MS32310b (19-4.4-KitKat)
- LG Optimus G E975 LG-E975 | JZO54K (16-4.1-Jelly Bean)
- LG G2 D802 LG-D802 | JDQ39B (17-4.2-Jelly Bean)
SQLite 3.7.6.3 (en lugar de 3.6.22):
- LG Optimus Sol E730 / myTouch E739 / myTouch Q C800 (10-2.3.3-Pan de jengibre, GRJ22)
- LG Optimus Vu F100S / F100L (10-2.3.3-Pan de jengibre, RK39F)
- LG Optimus LTE TAG F120K / F120L (10-2.3.3-Pan de jengibre, GRK39F)
- LG Optimus LTE L-01D (10-2.3.3-Pan de jengibre, GRJ90)
- LG Optimus Net P690b (10-2.3.3-pan de jengibre, jengibre)
- LG Prada KU5400 (10-2.3.3-Pan de jengibre, GWK74)
- LG Prada P940 (10-2.3.3-Pan de jengibre, GWK74)
- LG LU6200 / SU640 (10-2.3.3-Pan de jengibre, GRJ90) s
SQLite 3.7.5 (en lugar de 3.7.4):
- Samsung Galaxy Note (15-GT-N7000 | IML74K.ZSLPF)
- Samsung Galaxy SII (15-SC-02C | IML74K.OMMP4 y GT-I9100 | IML74K.DXLP7)
- Samsung Galaxy S Duos (15-GT-S7562 | IMM76I.S7562XXBMD6)
- Samsung Galaxy Tab 7.7 (15-GT-P6810 | IMM76D.ZSLP8)
SQLite 3.7.0.1 (en lugar de 3.6.22):
- LG Esteem MS910 (10-2.3.3-Gingerbread, GSE-_v.05)
- AndroTab (8-2.2 – Froyo, 1.0.7100.0385)
- GPLUS MUSN M500 (8-2.2-Froyo, FRG83G)
SQLite 3.6.23.1 (en lugar de 3.5.9):
- Motorola Backflip MB300 (7-2.1-Eclair, ERD79)
- Garmin-Asus nüvifone A10 / A50 / Garminfone (7-2.1-Eclair, ERE27)
Nota: el comando adb para obtener la versión SQLite sólo funciona en emuladores y en dispositivos con sqlite3 disponibles: https://stackoverflow.com/a/3645800/444761
Para otros dispositivos, vea la respuesta de Juri .
He añadido un problema # 58909 al rastreador de problemas de Android. Por favor star esto si usted quisiera apoyarlo.
Nota: si desea que su aplicación utilice la misma versión de SQLite en todas las versiones de Android, considere la posibilidad de utilizar esta biblioteca de soporte SQLite de terceros .
Aunque la documentación da 3.4.0 como número de referencia, si ejecuta el siguiente sql, notará que hay un número mucho mayor de SQlite instalado:
Cursor cursor = SQLiteDatabase.openOrCreateDatabase(":memory:", null).rawQuery("select sqlite_version() AS sqlite_version", null); String sqliteVersion = ""; while(cursor.moveToNext()){ sqliteVersion += cursor.getString(0); }
Esto es sólo una pieza de código rápido y sucio para recuperar la versión sqlite. Por ejemplo en un HTC Hero con Android 2.1, obtengo: 3.5.9 .
En mi Nexus One con Android 2.2, incluso obtener 3.6.22 .
$ adb shell $ sqlite3 --version sqlite3 --version 3.5.9
Lo mismo en ADP1 1.6 y 2.1 emulador.
Una breve descripción de las API de Andorid y las versiones de SQLite soportadas.
La visión general es del enlace en la respuesta de Mark Carters.