2016-06-29 8 views
0

Ich habe ein List<NameValuePair> Objekt, wo ich Zufallsdaten setzen:Parse NameValuePairs zu String, dann String zu NameValuePairs

nameValuePairs.add(new BasicNameValuePair("key","value")); 

ich diese Daten in eine SQLite-Datenbank speichern müssen, so warf ich das Objekt in einen String:

nameValuePairs.toString(); 

Natürlich muss ich dann die Daten wieder bekommen, aber ich weiß nicht, ob es möglich ist. Gibt es eine einfache Möglichkeit, das Objekt NameValuePair aus der Zeichenfolge zurück zu bekommen?

Vielen Dank!

+2

Für eine Sache, toString() aufrufen, auf einem Objekt ist nicht das gleiche, wie es in einen String Gießen. Können Sie die Daten in 2 Spalten anstatt in einem speichern? Dann wäre das Erstellen des NameValuePair-Objekts einfach. – lucasvw

+0

Haben Sie ausgegeben, was der Aufruf von 'toString()' zurückgibt? Vielleicht gibt es eine Zeichenkette ähnlich wie "name = foo: value = bar", die nicht zu schwer zu parsen wäre. –

+0

Eine Datenbanktabelle behandelt einzelne Werte in jeder Spalte. Wenn Sie versuchen, Namen/Wert-Paare in diese einzufügen, verletzen Sie die Datenbanknormalisierung (1NF, https://en.wikipedia.org/wiki/First_normal_form). Es ist schon schwer, das zu tun, was du versuchst, aber es wird dich später in eine Welt der Schmerzen bringen. Entwerfen Sie Ihre Datenbank jetzt, bevor Sie sich mit altem Code und Daten befassen müssen, und speichern Sie die Paare dann richtig, wahrscheinlich in einer neuen Tabelle. – Robert

Antwort

0

eine Schleife verwenden und die Daten durchlaufen, dann können Sie es

in SQLite speichern
for (NameValuePair nvp : data) 
{ 
    String name = nvp.getName(); 
    String value = nvp.getValue(); 
}