【问题标题】:Storing arraylist of arraylists in SQLite在 SQLite 中存储数组列表的数组列表
【发布时间】:2012-10-30 11:29:57
【问题描述】:

我是 Android 开发的新手,我正在开发一个备忘录/笔记应用程序,它允许用户包含主题标签,然后通过所述主题标签浏览保存的笔记。

我已经有一个笔记应用程序在运行,它只将笔记保存在 SQLite 数据库中,但我计划通过在我的每个笔记对象(已经存储在数组列表中)中包含一个主题标签数组列表来存储主题标签。 .

我的问题是,我将如何将这些数组列表的数组列表(注意标签数组列表的数组列表)存储到 SQLite 数据库中?

【问题讨论】:

  • 欢迎来到stackoverflow。您可能想用一些您可能尝试过但没有工作的实际代码来尝试一些问题。征求意见和指导不是stackoverflow的范围
  • 另外,请查看我们的常见问题解答:stackoverflow.com/faq

标签: java android xml sqlite


【解决方案1】:

假设您有一个用于注释的 sql 表,您应该创建另一个表来存储主题标签。您可以通过保留一列来存储主题标签所属的注释 ID,将每个主题标签链接到它的注释。结构基本上应该是这样的:

注释表:

note_id | note

标签表:

hashtag_id | hashtag | note_id

【讨论】:

    【解决方案2】:

    这是一种简单的技术:只需将所有主题标签存储为单个字符串。

    例如,假设一条笔记有 4 个主题标签 - #study, #homework, #school, #math

    因此,您只需将它们存储为单个字符串,例如:

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

    现在将此字符串作为每个笔记对象的hastag 列存储在sqlite 数据库中。

    Java 允许您轻松解析字符串,因此当您检索笔记时,您可以获取它的hashtag 列,并根据分隔符(“# " 在这种情况下)像这样:

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

    现在,您在单个字符串数组中拥有该笔记对象的所有主题标签,您可以使用 hashtag[0], hashtag[1]...etc 轻松浏览该数组

    另一种选择是创建另一个hashtags 表。每个主题标签都使用唯一标识符(外键)进入此表,以将其链接到notes 表中的注释。因此,您可以使用特定笔记的note_id 查询此表,它将返回属于该笔记的所有主题标签。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-02-21
      • 2019-10-26
      • 2021-09-26
      • 2016-06-28
      • 2014-05-23
      • 2012-10-08
      相关资源
      最近更新 更多