我正在保存用户作为Json数组输入的成分列表,然后将其保存到SQLite数据库。
btnSteps.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (!etSteps.getText().toString().trim().equals("")) {
String stps = etSteps.getText().toString();
stepsAdapter.add(stps);
etSteps.setText("");
updateListViewHeight(lvSteps);
try {
JSONObject json = new JSONObject();
json.put("steps", new JSONArray(steps.toArray()));
arraySteps = json.toString();
} catch (JSONException e) {
Log.e("error", "Unexpected JSON exception", e);
}
}
}
});
public void onSave(View v) {
serve();
time();
if (etName.getText().toString().trim().equals("")) {
} else {
myDb.insertRow(etName.getText().toString(), arrayIngredients, arraySteps, servesActual, timeActual);
this.finish();
}
}
但是,当我尝试检索它然后更改它时它不起作用。
private void getRecipe(long id) {
Cursor cursor = myDb.getRow(id);
ingredients = DBAdapter.KEY_INGREDIENTS;
getIngredients();
String[] fromFieldNames = new String[] {DBAdapter.KEY_NAME, DBAdapter.KEY_SERVES, DBAdapter.KEY_TIME, DBAdapter.KEY_INGREDIENTS DBAdapter.KEY_STEPS};
int[] toViewIDs = new int[] {R.id.showName, R.id.showServes, R.id.showTime, R.id.textIngredients, R.id.showSteps};
SimpleCursorAdapter myCursorAdapter;
myCursorAdapter = new SimpleCursorAdapter(getBaseContext(), R.layout.recipe_layout, cursor, fromFieldNames, toViewIDs, 0);
recipeDisplay.setAdapter(myCursorAdapter);
}
private void getIngredients() {
seperated = ingredients.toString();
seperated = seperated.replace("ingredients","test");
textIngredients.setText(seperated);
}
当我这样做时,它只给我“成分”而不是用户输入的其他字符串。
我已经检查了SQLite数据库,并且它们以这种格式保存{“ingredients”:[“example_one”,“example_two”,“example_three”]}。
我希望能够只显示示例信息,但我找不到访问它的方法。
谢谢。