【问题标题】:Android Studio - Adding different data to SQLite DatabaseAndroid Studio - 向 SQLite 数据库添加不同的数据
【发布时间】:2016-06-25 10:30:19
【问题描述】:

我正在开发一个食谱应用程序。 已经可以在我的 SQLite 数据库中存储新食谱并在 ListView 中显示它们。 但现在我正在尝试添加添加所需成分的可能性,以及你需要多少成分来制作食谱。 对于不同的食谱,所需的配料量会有所不同。

例如,我需要一个蛋糕: 1个苹果 2个鸡蛋

但对于 cookie: 1块巧克力 1个鸡蛋 3个聪明人

现在我将固定数据(名称、描述、烹饪时间)存储在我的数据库中。 但是对于这些成分,我认为我需要一种可变的方式来存储它们。 我希望你明白我的问题是什么。 有没有办法将这些变量对象存储在我的数据库中?

马丁

【问题讨论】:

    标签: android database sqlite android-studio store


    【解决方案1】:

    为成分及其属性创建一个表,而不是创建一个交叉引用表(用于多对多关系),您可以在其中将成分链接到具有所需数量等附加信息的食谱。

    【讨论】:

      【解决方案2】:

      好吧,您可以使用以下任何一种方式来添加您的应用:

      1- 根据需要添加尽可能多的列,但如果不需要,只需存储空值,稍后检查是否不为空

      ContentValues contentValues = new ContentValues(); 
                                  contentValues.put("ingredient1", Et1.getText().toString()); // string containing 2 eggs
                                  contentValues.put("ingredient2", Et2.getText().toString()); // string containing 2 apples
                                  contentValues.put("ingredient3", Et3.getText().toString().trim()); //string containing 1 chocolate
                                  db.insert(TABLE_NAME, null, contentValues); //
      

      2.- 另一个只是创建一个包含所有成分的大字符串并将其存储在 1 列中

      String data ="";
                          data="2 eggs"+"*"+"1 chocolate "+"*"+"5 apples";
                          ContentValues contentValues = new ContentValues(); // 
                          contentValues.put("column1", data); // string containing 2 eggs
                          db.insert(TABLE_NAME, null, contentValues); // 
      

      之后,使用 stringTokenizer 获取每个令牌,在本例中为“*”

      StringTokenizer st = new StringTokenizer(data,"*");
      While(st.hasMoreTokens()){
          String aux = st.nextToken()// do somethig like show or replace with this
      }
      

      【讨论】:

      • 谢谢,我就是这样做的。
      猜你喜欢
      • 1970-01-01
      • 2023-02-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-11-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多