gpt4 book ai didi

java - 将 HashMap 写入 SQL 数据库时出错 - Android Studio

转载 作者:行者123 更新时间:2023-11-29 18:24:03 24 4
gpt4 key购买 nike

每当我尝试将 HashMap 更新到 SQL 数据库时,我的 Android 应用程序就会不断崩溃。我不知道我的应用程序有什么问题。下面是 addProduct 方法,该方法应该将我的值添加到数据库中,下面是使用添加产品的 onClickListener。这两个代码有什么明显的问题吗?每当我尝试实现以下代码时,我的应用程序就会崩溃。 (注意:addProduct 位于一个名为“MyDBHandler”的单独类中,onClick“dbHandler”中的变量是其特定 Activity 中的一个实例。

 public void addProduct(HashMap  <String,ArrayList <Item>> expenses){
ContentValues values = new ContentValues();
SQLiteDatabase db = getWritableDatabase();
for (String key: expenses.keySet()) {
values.put(COLUMN_KEY, key);
for (int i = 0; i < expenses.get(key).size(); i++){
ArrayList <Item> prods = expenses.get(key);
values.put(COLUMN_NAME, prods.get(i).id);
values.put(COLUMN_PRICE, prods.get(i).cost);
db.insert(TABLE_EXPENSES, null, values);
values.put(COLUMN_KEY, key);

}
}
db.close();
}
<小时/>
 bAddExp.setOnClickListener(new View.OnClickListener() {

@Override
public void onClick (View view){
String account = sAccount.getSelectedItem().toString();
double cost = Double.parseDouble( etCost.getText().toString());
String expense = etExpense.getText().toString();
ArrayList<Item> temp = MainActivity.expenselist.get(account);
Item item = new Item (expense, cost);
temp.add(item);
MainActivity.expenselist.put(account,temp);
dbHandler.addProduct(MainActivity.expenselist);
Intent i = new Intent(getApplication(), MainActivity.class);
startActivity(i);

}

});

最佳答案

我通过分别坚持使用整数和字符串来修复我的解决方案。

关于java - 将 HashMap 写入 SQL 数据库时出错 - Android Studio,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46337883/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com