我是Android Studio新手,目前正在处理我的第一个应用程序。
我有一个使用SQLite数据库中的数据填充的微调器。该数据库有3列,即" ID"," Ingredient_Name" (文字)和"碳水化合物_内容" (double) - 微调器显示Ingredient_Name列中的所有数据。
现在,如果用户从微调器中选择一个项目,我想检索/获取该选定项目的相应数据。例如,如果用户选择" Rice"从旋转器,我想得到水稻碳水化合物含量的价值。然后,这个(双)值将用于另一个数学方程式。
我从android hive中找到了以下代码,这与我想要做的类似,但是在网站中,这个函数从未在主活动中被调用过。 我的主要问题是如何调用它并将其应用于我的案例中?谢谢!
public Contact getContact(int id) {
SQLiteDatabase db = this.getReadableDatabase();
Cursor cursor = db.query(TABLE_CONTACTS, new String[] { KEY_ID,
KEY_NAME, KEY_PH_NO }, KEY_ID + "=?",
new String[] { String.valueOf(id) }, null, null, null, null);
if (cursor != null)
cursor.moveToFirst();
Contact contact = new Contact(Integer.parseInt(cursor.getString(0)),
cursor.getString(1), cursor.getString(2));
return contact;
}
答案 0 :(得分:0)
我建议不要复制和粘贴代码,而是先解构它并理解它。我会在这里帮助你一点。因此,在用户在微调器中选择了某些内容后,连接一个按钮以进行数据库调用。
为此你可以使用onClickListener
。使用findViewById
获取对按钮的引用,然后设置onClickListener。在onClickListener
中,进行数据库调用,我会这样做:
Cursor cursor = db.query(TABLE_CONTACTS, new String[] { KEY_ID,
KEY_NAME, KEY_PH_NO }, KEY_NAME + " = ?",
new String[] { String.valueOf(spinner.getSelectedItem()) }, null, null, null);
所以你要使用" Rice"这个词。搜索数据库,因为微调器将返回单词" Rice"所以你想匹配那个。然后相应地更新您的视图。如果您在评论中有任何其他问题,请与我们联系。