2
我尝试将数组放入数据库中。在编辑文本中,我编写例如大蒜,西红柿,洋葱,但是当我将数据保存到数据库并转到我的php数据库时,而不是该文本时,它只会说成分。如果我手动添加文本(我手动添加数字而不是成分,但它是相同的)数据库它看起来不错,并创建良好的JSON文件。我怎样才能解决这个问题?如何将数组保存到PHP数据库中
MainActivity.java
String id;
ArrayList<String> ingredients = new ArrayList<String>();
@BindView(R.id.etId) EditText etId;
@BindView(R.id.etIngredients) EditText etIngredients;
id = etId.getText().toString();
ingredients = etIngredients.getText().toString();
Recipes.java
public class Recipes {
String id;
List<String> ingredients;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public List<String> getIngredients() {
return ingredients;
}
public void setIngredients(List<String> ingredients) {
this.ingredients = ingredients;
}
}
,以及如何检索列中的成分?
我使用它来从JSON文件返回它,但它在一排[1,3,4,5,6]
Reipes rec = recipes.get(position);
holder.textViewId.setText(rec.getId());
holder.textViewIngredients.setText(rec.getIngredients().toString());
首先4个食谱手动添加返回成分,以及在Android应用中添加成分的地方。
how it looks when get data in android
类型成分的开始为什么你是否将逗号分隔的值保存到单个字段中?这是一对多关系和外键的用途。开始正确地规范你的数据库。然后,如果您说PHP仍未正确保存,那么我们需要准确知道您从Java发送到PHP的数据字符串的格式。如果你很高兴字符串是正确的,那么我们需要看看正在执行保存的PHP代码。 – ADyson
其次,如果您从PHP服务器以JSON形式返回一组成分标识,并且您希望以不同方式显示它们,则必须遍历它们并单独处理它们,而不是仅将数据作为字符串转储到你的屏幕(这是你现在正在做的)。 – ADyson
你可以简单地发送你的成分作为一个可变串,为什么把它作为ArrayList –