Qualcuno può dirmi l'ELENCO DATATIPI in SQLITE che supporta ANDROID.quali sono i tipi di dati in SQLite che supporta Android
Desidero confermare i tipi di dati TIME e DATE.
Qualcuno può dirmi l'ELENCO DATATIPI in SQLITE che supporta ANDROID.quali sono i tipi di dati in SQLite che supporta Android
Desidero confermare i tipi di dati TIME e DATE.
Ecco una list di tipi di dati di SQLite
data e l'ora sono supportati indirectly.
Come detto Datatypes In SQLite Version 3:
Ogni valore memorizzato in un database SQLite (o manipolati dal motore di database) presenta una delle seguenti classi di memoria:
NULL. Il valore è un valore NULL.
INTEGER. Il valore è un numero intero con segno, memorizzato in 1, 2, 3, 4, 6 o 8 byte a seconda della grandezza del valore.
REAL. Il valore è un valore in virgola mobile, memorizzato come numero in virgola mobile IEEE a 8 byte.
TEXT. Il valore è una stringa di testo, memorizzata utilizzando la codifica del database (UTF-8, UTF-16BE o UTF-16LE).
BLOB. Il valore è un blob di dati, memorizzato esattamente come è stato inserito.
E per il tempo e lo stoccaggio DATA la seguente legge:
data e ora tipo di dati
SQLite non dispone di una classe di archiviazione mettere da parte per le date di stoccaggio e/o tempi. Invece, la data e ora Le funzioni incorporate di SQLite sono in grado di memorizzare date e orari come TEXT, REAL, o valori interi:
- TESTO stringhe come ISO8601 ("AAAA-MM-GG HH: MM : SS.SSS ").
- REALE come numero di giorni giuliani, il numero di giorni da mezzogiorno a Greenwich il 24 novembre, 4714 a.C. secondo il calendario gregoriano prolettico.
- INTEGER come Tempo Unix, il numero di secondi dal 1970-01-01 00:00:00 UTC.
Prima di tutto verificare la versione del Sqlite3 per ogni versione API Android: https://stackoverflow.com/a/4377116/737636
Non credo che questo sia l'elenco completo delle versioni e penso che anche OEM può cambiare la versione del SQLite installato all'interno.
In ogni caso, se si prende un rapido sguardo si può vedere che la versione base è 3.x
Questa è la lista dei tipi di dati supportati da SQLite3 (lo stesso utilizzato all'interno Android): http://www.sqlite.org/datatype3.html
e eccoti :)
public static Object getValue(Cursor cursor, String columnName) {
int index = cursor.getColumnIndex(columnName);
if(index == -1){
throw new ColumnNotFoundException(columnName, "table");
}
if(cursor.isNull(index)){
return null;
}
int type = cursor.getType(index);
switch (type){
case Cursor.FIELD_TYPE_INTEGER:
return cursor.getLong(index);
case Cursor.FIELD_TYPE_STRING:
return cursor.getString(index);
case Cursor.FIELD_TYPE_FLOAT:
return cursor.getFloat(index);
case Cursor.FIELD_TYPE_BLOB:
return cursor.getBlob(index);
default:
throw new UnknownTypeException(columnName);
}
}
Questo non fornisce un elenco di tipi di dati in sqlite3. Basta codice senza spiegazione – Dediqated
Thsnks: D, lo modificherò –
supportato indirettamente? –
Penso che la data e l'ora possano essere solo inserite come stringa –
Oppure utilizzando UNIX timestamp e salvandole come INTEGER, anche BOOLEAN è memorizzato come INTEGER 0 o 1 – Sourabh