我是Android开发的新手,我正在开发一个备忘录/笔记记录应用程序,允许用户包含主题标签,然后通过所述主题标签浏览已保存的笔记。
我已经有一个笔记应用程序工作,只保存SQLite数据库中的笔记,但我打算通过在我的每个笔记对象(已经存储在arraylist中)中包含一个主题标签列表来存储主题标签。 。
我的问题是,我如何将这些arraylists的arraylists(注意标签arraylists的arraylists)存储到SQLite数据库中?
答案 0 :(得分:2)
假设您有一个用于备注的sql表,您应该创建另一个表来存储主题标签。您可以通过保留一列来存储标签所属的注释ID,从而将每个主题标签链接到它的注释。结构基本上应该是这样的:
注意表:
note_id | note
Hashtags表:
hashtag_id | hashtag | note_id
答案 1 :(得分:1)
这是一个简单的技巧:只需将所有主题标签存储为单个字符串。
例如,假设一个音符有4个标签 - #study, #homework, #school, #math
因此,您只需将它们存储为单个字符串,如:
String hastags="study#homework#school#math"
现在将此字符串存储在sqlite数据库中,作为每个注释对象的hastag
列。
Java允许您轻松解析字符串,因此当您检索注释时,您可以获取它的hashtag
列,并根据分隔字符将其分隔为字符串数组(每个主题标签包含一个字符串元素)( “#”在这种情况下)像这样:
String hastags[]= hashtagStringFromDB.split("#");
现在,您在单个字符串数组中拥有该注释对象的所有主题标签,您可以使用hashtag[0], hashtag[1]...etc
另一个选项是创建另一个hashtags
表。每个#标签都会使用唯一标识符(外键)进入此表,以将其链接到notes
表中的注释。因此,您可以使用特定注释的note_id
查询此表,它将返回属于该注释的所有主题标签。