如图,数据库名后面括号显示closed,无法对数据库操作。
解决办法
像数据库中add一条数据,比如:
//把数据添加到ContentValues
ContentValues values = new ContentValues();
values.put(VALUE_NAME, model.getName());
values.put(VALUE_AGE, model.getAge());
values.put(VALUE_ISBOY, model.getIsBoy());
values.put(VALUE_ADDRESS, model.getAddress());
//这里存储图片,model.getPic() 是一个字节数组
values.put(VALUE_PIC, model.getPic());
//添加数据到数据库
long index = getWritableDatabase().insert(TABLE_NAME_PERSON, null, values);
注意这里没有getWritableDatabase().close()
数据库,关键点也在于不能调用close()
方法关闭数据库
如果以上还是没有解决问题,请参考下面网址
Android Studio Database Inspector always showing database as "closed"
google使用 Database Inspector 调试数据库
如果要实时看到数据库的修改,可以勾上Live updates
这个勾,不然可以点击旁边的刷新图标进行刷新
打开 Database Inspector
如需在 Database Inspector 中打开数据库,请执行以下操作:
- 在模拟器或搭载 API 级别 26 或更高版本的已连接设备上[运行您的应用]
- 从菜单栏中依次选择 View > Tool Windows > App Inspection。
- 选择 Database Inspector 标签页。
- 从下拉菜单中选择正在运行的应用进程。
- 当前正在运行的应用中的数据库显示在 Databases 窗格中。展开要检查的数据库的节点。