2011-03-22 137 views
0

我希望將值存儲在字符串數組中,即arr [16] [16]的值。如果我使用2 for循環,按照我的理解,256行將被添加到數據庫中,這不是我的要求。我想在數據庫中的單行的一列中的所有256值。將二維字符串數組存儲到SQLite數據庫

我是新來的android。請建議。

回答

2

你能不能做這樣的事情:

StringBuilder one_big_row = new StringBuilder(); 
for(String[] array : arr) 
    for(String string : array) 
      one_big_row.append(string); 
String row = one_big_row.toString(); 

似乎有點傻我。 編輯:應該使用StringBuilder出於性能原因。另外,如果你不需要這些數據來保存(用戶關閉應用程序後),那麼你可能不應該使用SQLite數據庫。如果您確實需要它,請嘗試重新考慮它應該如何存儲,因爲當您通過由256個其他字符串組成的非常大的字符串的子字符串檢索此數據時,它會很乏味和緩慢。

+1

我不得不同意這個觀點,這毫無疑問是有效的,但它似乎有點愚蠢,它實際上取決於這些行是什麼,你應該設計數據庫,然後想想如何將其轉換爲內存數據結構,DB設計是關於關係,而不是關於「我如何存儲這個巨大的陣列」 – blindstuff 2011-03-22 20:55:08

+1

謝謝blindstuff。如果你喜歡我的建議,我可以起來嗎? : - } – eternalmatt 2011-03-22 21:21:00

3

您可以序列化數組並將序列化的數據插入到BLOB列中。 然後,您只需檢索您的BLOB值並反序列化即可恢復您的陣列。

相關問題