Autore Topic: Inserire String Array all'interno di un Database SQLite  (Letto 275 volte)

Offline SF

  • Nuovo arrivato
  • *
  • Post: 16
    • Mostra profilo
  • Dispositivo Android:
    Asus Zenfone 2Laser
  • Sistema operativo:
    Windows 7
Inserire String Array all'interno di un Database SQLite
« il: 17 Ottobre 2016, 20:50:29 CEST »
E' possibile inserire delle String Array all'interno di un Database SQLite?

Offline Ohmnibus

  • Utente senior
  • ****
  • Post: 583
    • Google+
    • @ohmnibus
    • Mostra profilo
    • Lords of Knowledge GdR
  • Dispositivo Android:
    Samsung Galaxy Nexus
  • Play Store ID:
    Ohmnibus
  • Sistema operativo:
    Windows 7 x64
Re:Inserire String Array all'interno di un Database SQLite
« Risposta #1 il: 18 Ottobre 2016, 09:59:14 CEST »
Non in modo nativo
Ohmnibus
Le mie app su Play Store

È stata trovata una soluzione al tuo problema? Evidenzia il post più utile premendo . È un ottimo modo per ringraziare chi ti ha aiutato.

Offline tonno16

  • Utente storico
  • *****
  • Post: 1169
    • Mostra profilo
  • Dispositivo Android:
    moto g
  • Play Store ID:
    Diego Tonini
  • Sistema operativo:
    OpenSuse
Re:Inserire String Array all'interno di un Database SQLite
« Risposta #2 il: 18 Ottobre 2016, 11:28:58 CEST »
Puoi semplicemente salvare una stringa del tipo 1,2,3,4... e poi fai uno split

Offline Ohmnibus

  • Utente senior
  • ****
  • Post: 583
    • Google+
    • @ohmnibus
    • Mostra profilo
    • Lords of Knowledge GdR
  • Dispositivo Android:
    Samsung Galaxy Nexus
  • Play Store ID:
    Ohmnibus
  • Sistema operativo:
    Windows 7 x64
Re:Inserire String Array all'interno di un Database SQLite
« Risposta #3 il: 18 Ottobre 2016, 11:34:58 CEST »
Puoi semplicemente salvare una stringa del tipo 1,2,3,4... e poi fai uno split

Fattibile solo se gli elementi nello String Array non contengono a loro volta la virgola (o comunque il separatore utilizzato)

Se vuoi seguire questa filosofia, che comunque non rappresenta una soluzione scalabile, ti conviene convertire l'array di string in un oggetto Json prima di metterlo nel DB
Ohmnibus
Le mie app su Play Store

È stata trovata una soluzione al tuo problema? Evidenzia il post più utile premendo . È un ottimo modo per ringraziare chi ti ha aiutato.

Offline SF

  • Nuovo arrivato
  • *
  • Post: 16
    • Mostra profilo
  • Dispositivo Android:
    Asus Zenfone 2Laser
  • Sistema operativo:
    Windows 7
Re:Inserire String Array all'interno di un Database SQLite
« Risposta #4 il: 20 Ottobre 2016, 10:52:18 CEST »
ti conviene convertire l'array di string in un oggetto Json prima di metterlo nel DB

Cercando in google avevo trovato questa soluzione, c'è una guida dove posso documentarmi?

Offline Ohmnibus

  • Utente senior
  • ****
  • Post: 583
    • Google+
    • @ohmnibus
    • Mostra profilo
    • Lords of Knowledge GdR
  • Dispositivo Android:
    Samsung Galaxy Nexus
  • Play Store ID:
    Ohmnibus
  • Sistema operativo:
    Windows 7 x64
Re:Inserire String Array all'interno di un Database SQLite
« Risposta #5 il: 20 Ottobre 2016, 11:04:52 CEST »

Da array a Json:

Codice (Java): [Seleziona]
import java.util.Arrays;
import org.json.JSONArray;
String[] inputs = new String[] {"foo", "bar"};
JSONArray jsonArray = new JSONArray(Arrays.asList(inputs));
String output = jsonArray.toString(); //Da scrivere sul DB

Da json ad array:

Codice (Java): [Seleziona]
String jsonString = ...; //Dati letti da DB
JSONArray jsonArray = new JSONArray(jsonString);
String[] stringArray = new stringArray[jsonArray.length];
for(int i = 0; i < jsonArray.length(); i++) {
    try {
        stringArray[i] = jsonArray.getString(i);
    } catch (JSONException e) {
        e.printStackTrace();
    }
}
Ohmnibus
Le mie app su Play Store

È stata trovata una soluzione al tuo problema? Evidenzia il post più utile premendo . È un ottimo modo per ringraziare chi ti ha aiutato.

Offline SF

  • Nuovo arrivato
  • *
  • Post: 16
    • Mostra profilo
  • Dispositivo Android:
    Asus Zenfone 2Laser
  • Sistema operativo:
    Windows 7
Re:Inserire String Array all'interno di un Database SQLite
« Risposta #6 il: 20 Ottobre 2016, 12:20:39 CEST »
Per documentarmi può andar bene questo sito?

https://github.com/google/gson

Offline Ohmnibus

  • Utente senior
  • ****
  • Post: 583
    • Google+
    • @ohmnibus
    • Mostra profilo
    • Lords of Knowledge GdR
  • Dispositivo Android:
    Samsung Galaxy Nexus
  • Play Store ID:
    Ohmnibus
  • Sistema operativo:
    Windows 7 x64
Re:Inserire String Array all'interno di un Database SQLite
« Risposta #7 il: 20 Ottobre 2016, 12:39:36 CEST »

GSON è una libreria per la serializzazione/deserializzazione in Json.

E' molto utile se hai bisogno di serializzare oggetti complessi, eventualmente in o da stream.

Se è questo che ti serve (o comunque per cultura generale) dai un occhio alla documentazione.

Se invece devi solo trasformare array in stringhe Json, la libreria non ti serve. O meglio: puoi farlo anche con GSON, ma è come usare un cannone per uccidere una zanzara.

Dai un occhio anche qui:

https://developer.android.com/reference/android/util/JsonReader.html
https://developer.android.com/reference/android/util/JsonWriter.html
https://developer.android.com/reference/org/json/JSONArray.html
https://developer.android.com/reference/org/json/JSONObject.html
Ohmnibus
Le mie app su Play Store

È stata trovata una soluzione al tuo problema? Evidenzia il post più utile premendo . È un ottimo modo per ringraziare chi ti ha aiutato.

Offline SF

  • Nuovo arrivato
  • *
  • Post: 16
    • Mostra profilo
  • Dispositivo Android:
    Asus Zenfone 2Laser
  • Sistema operativo:
    Windows 7
Re:Inserire String Array all'interno di un Database SQLite
« Risposta #8 il: 20 Ottobre 2016, 15:11:21 CEST »
Dai un occhio anche qui:

https://developer.android.com/reference/android/util/JsonReader.html
https://developer.android.com/reference/android/util/JsonWriter.html
https://developer.android.com/reference/org/json/JSONArray.html
https://developer.android.com/reference/org/json/JSONObject.html

Grazie 1000 gentilissimo!

Se volessi sostituire questa parte
Da array a Json:

Codice (Java): [Seleziona]
String[] inputs = new String[] {"foo", "bar"};

Con una risorsa String Array impiegando
Codice (Java): [Seleziona]
Resources res = getResources();
String[] inputs = res.getStringArray

È possibile?

Offline Ohmnibus

  • Utente senior
  • ****
  • Post: 583
    • Google+
    • @ohmnibus
    • Mostra profilo
    • Lords of Knowledge GdR
  • Dispositivo Android:
    Samsung Galaxy Nexus
  • Play Store ID:
    Ohmnibus
  • Sistema operativo:
    Windows 7 x64
Re:Inserire String Array all'interno di un Database SQLite
« Risposta #9 il: 20 Ottobre 2016, 15:16:25 CEST »

Citazione
Con una risorsa String Array ...

Sì è possibile.
Ohmnibus
Le mie app su Play Store

È stata trovata una soluzione al tuo problema? Evidenzia il post più utile premendo . È un ottimo modo per ringraziare chi ti ha aiutato.

Offline SF

  • Nuovo arrivato
  • *
  • Post: 16
    • Mostra profilo
  • Dispositivo Android:
    Asus Zenfone 2Laser
  • Sistema operativo:
    Windows 7
Re:Inserire String Array all'interno di un Database SQLite
« Risposta #10 il: 20 Ottobre 2016, 15:27:08 CEST »