Android Studio - 向 SQLite 数据库添加不同的数据
Android Studio - Adding different data to SQLite Database
我正在开发一个食谱应用程序。
已经可以将新食谱存储在我的 SQLite 数据库中并在 ListView 中显示它们。
但现在我试图增加添加所需成分的可能性,以及你需要多少成分来制作食谱。
对于不同的食谱,所需的配料量会有所不同。
例如我需要的蛋糕:
1个苹果
2 个鸡蛋
但对于 cookie:
1 巧克力
1个鸡蛋
3 个聪明人
现在我在数据库中存储固定数据(名称、描述、烹饪时间)。
但是对于这些成分,我认为我需要一种可变的方式来存储它们。
我希望你明白我的问题是什么。
有没有办法将这些可变对象存储在我的数据库中?
马丁
为成分及其属性创建一个 table,而不是创建一个交叉引用 table(对于多对多关系),您可以在其中 link 成分包含所需量等附加信息的食谱。
好吧,您可以使用以下任何一种方式来添加您的应用程序:
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
}
我正在开发一个食谱应用程序。 已经可以将新食谱存储在我的 SQLite 数据库中并在 ListView 中显示它们。 但现在我试图增加添加所需成分的可能性,以及你需要多少成分来制作食谱。 对于不同的食谱,所需的配料量会有所不同。
例如我需要的蛋糕: 1个苹果 2 个鸡蛋
但对于 cookie: 1 巧克力 1个鸡蛋 3 个聪明人
现在我在数据库中存储固定数据(名称、描述、烹饪时间)。 但是对于这些成分,我认为我需要一种可变的方式来存储它们。 我希望你明白我的问题是什么。 有没有办法将这些可变对象存储在我的数据库中?
马丁
为成分及其属性创建一个 table,而不是创建一个交叉引用 table(对于多对多关系),您可以在其中 link 成分包含所需量等附加信息的食谱。
好吧,您可以使用以下任何一种方式来添加您的应用程序:
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
}