所以我一直在通过这个网站搜索我正在寻找的答案,但我找不到它。关于 SQLite 数据库的 YouTube 上有很多很好的教程,但没有一个能真正做到我想要的。
我正在制作一个游戏,在游戏中我希望玩家能够选择他们想要购买的物品(从商店),当他们购买该物品时,它将被保存到数据库中。然后,当他们进入他们的库存或商店内的“出售”屏幕时,列表视图将显示他们的库存中的内容。
我已经完全建立了商店。即 - 他们可以购买的物品,当他们选择一个物品时,会弹出一个对话框并询问他们是否要购买它,如果是,它将减去他们拥有的黄金并将该物品添加到数据库中。
^ 唯一不工作的部分是将项目添加到数据库的部分。
这是一些代码:
String[] MeleeArmour = new String[] {
"--- Melee Armour ---",
"(100G) Bronze Helmet", "(250G) Bronze Chestplate",
"(125G) Bronze Leggings", "(100G) Bronze Boots" //etc....
--
MeleeArmourList.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
switch (position) {
case 1:
// (100G) Bronze Helmet
AlertDialog.Builder dlgAlert = new AlertDialog.Builder(
Shop.this);
dlgAlert.setMessage("Purchase Bronze Helmet?");
dlgAlert.setTitle("Shop");
dlgAlert.setPositiveButton("Buy",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog,
int which) {
if (Integer.parseInt(textViewShopGoldValue1
.getText().toString()) >= 100) {
int gold1 = Integer
.parseInt(textViewShopGoldValue1
.getText().toString()) - 100;
textViewShopGoldValue1.setText(""
+ gold1);
Toast msg = Toast.makeText(Shop.this,
"Bronze Helmet added to inventory",
Toast.LENGTH_SHORT);
msg.show();
//this is where I need to add the item to a database
} else {
Toast msg = Toast.makeText(Shop.this,
"You don't have enough gold!",
Toast.LENGTH_SHORT);
msg.show();
}
dialog.dismiss();
}
});
dlgAlert.setNeutralButton("View info",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog,
int which) {
dialog.dismiss();
}
});
dlgAlert.setNegativeButton("Cancel",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog,
int which) {
dialog.dismiss();
}
});
dlgAlert.setCancelable(false);
dlgAlert.create().show();
break;
有人有想法么?我将如何设置数据库以使用我想要的。或者有什么不同的方法可以做吗?我尝试在其中执行“putExtra”方法并保存数据,但是在玩家购买物品后,我必须将它们发送到库存屏幕,这很烦人,人们不会喜欢...