2012-11-10 108 views
0

我是Android開發的新手,我正在開發一個備忘錄/筆記記錄應用程序,允許用戶包含井號標籤,然後通過所述井號標籤瀏覽保存的筆記。在SQLite中存儲arraylist的arraylist

我已經有一個筆記應用程序工作,只保存在SQLite數據庫中的筆記,但我打算通過在每個筆記對象(已存儲在數組列表中)中包含hashtags的數組列表來存儲hashtags。 ..

我的問題是,我將如何去存儲這些ArrayList的列表(注意hashtag arraylists arraylist)到SQLite數據庫?

+1

歡迎使用stackoverflow。你可能想用你可能試過的一些實際代碼嘗試一些問題,但沒有奏效。徵求意見和指導不是範圍stackoverflow – Ahmad

+0

此外,看看我們的常見問題:http://stackoverflow.com/faq – ForceMagic

回答

2

假設你有一個用於筆記的sql表,你應該創建另一個表來存儲hashtags。您可以通過預訂一列來存儲hashtag所屬的音符ID,從而將每個hashtag鏈接到它的音符。結構應該是基本上是這樣的:

注表:

note_id | note 

#標籤表:

hashtag_id | hashtag | note_id 
1

這裏有一個簡單的方法:只儲存您所有的主題標籤爲一個字符串。

例如,假設一個音符都有4#標籤 - #study, #homework, #school, #math

所以,你只需將它們存儲爲像一個字符串:

String hastags="study#homework#school#math" 

現在這個字符串中的SQLite DATABSE存儲作爲hastag列每個音符對象。

Java允許您輕鬆解析字符串,因此當您檢索筆記時,可以獲取它的hashtag列,並根據分隔字符(「#」)將其分隔爲一個字符串數組(每個哈希標籤包含一個字符串元素)在這種情況下),像這樣:

String hastags[]= hashtagStringFromDB.split("#"); 

現在,你有在一個字符串數組,筆記對象,你可以通過輕鬆使用hashtag[0], hashtag[1]...etc

另一個選項是創建你的所有的井號標籤另一個hashtags表。每個哈希標籤都帶着一個唯一的標識符(外鍵)進入該表,以將其鏈接到notes表中的一個音符。因此,您可以使用特定筆記的note_id查詢此表,並且它將返回屬於該筆記的所有井號標籤。