2016-06-29 87 views
0

我有一個List<NameValuePair>對象,其中我把隨機數據:解析namevaluepairs中爲字符串,然後字符串namevaluepairs中

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

我需要這個數據存儲到一個SQLite數據庫,所以我投的對象爲字符串:

nameValuePairs.toString(); 

當然,我需要再次獲取數據,但我不知道它是否可能。有沒有一種簡單的方法可以從字符串中取回對象NameValuePair

非常感謝!

+2

存儲一方面,在對象上調用toString()是不一樣的,因爲它強制轉換爲字符串。你能將數據存儲在2列而不是1列中嗎?然後重建NameValuePair對象將很簡單。 – lucasvw

+0

你輸出了對'toString()'返回的調用嗎?也許它會返回一個類似於「name = foo:value = bar」的字符串,這個字符串不會很難解析。 –

+0

數據庫表是關於每列中的單個值的。如果您嘗試將名稱/值對填入其中,則違反了數據庫規範化(1NF,https://en.wikipedia.org/wiki/First_normal_form)。已經很難做你想做的事情,但它會讓你進入一個後來受到傷害的世界。現在設計你的數據庫,然後你必須處理遺留的代碼和數據,然後將這些對正確地存儲在一個新表中。 – Robert

回答

0

使用一個循環並重複數據,那麼您可以在SQLite中

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