我只是想在Android Studio中为插入函数创建一个非常简单的数据库应用,而我正在尝试为表“ Items”插入一行。当我运行它时,没有任何错误。但是当我使用应用程序本身时,输入项目名称并保存后,我的应用程序崩溃。我在删除“ autoGenerate = true”后手动输入项目ID时没有问题。
我对Room还是很陌生,我正在练习。我检查了一些有关自动生成的主键的问题,但是还没有找到解决方法。如果您已经提出此要求,我表示歉意。
这是我对Item类的定义:
"scripts": [
"../node_modules/jquery/dist/jquery.js",
"../node_modules/bootstrap/dist/js/bootstrap.js",
"./src/common/toolTipScript.js"
],
我的道:
@Entity(tableName = "items")
public class Item {
@PrimaryKey (autoGenerate = true)
private int id;
@ColumnInfo(name = "item_name")
private String name;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
这是我用来通过用户输入获取信息并插入的代码:
@Dao
public interface MyDao {
@Insert
public void addItem(Item item);
}
数据库类:
private EditText ItemName;
ItemName = view.findViewById(R.id.et_item_name); //et_item_name is an edittext
String itemname = ItemName.getText().toString();
Item item = new Item();
item.setName(itemname);
MyActivity.appDatabase.mydao().addItem(item);
我的活动:
@Database(entities = {Item.class}, version = 1)
public abstract class AppDatabase extends RoomDatabase {
public abstract MyDao mydao();
}