学会了
- 打开 assets 中的数据库不需要权限,属于内部存储
- open failed: EACCES (Permission denied) 除了 android 运行时权限外,还可能是文件名不对或者模拟器的 data/data/包名/databases 目录没有打开权限,通过 adb shell ,运行 su, 再 chmod 777 包名,将'drwxrwxrwx'9位都设置成1的权限即可,即 111 111 111, 7 7 7.参考
- 当磁盘写满时,getReadableDatabase() 返回的对象将以只读的方式打开数据库,而getWriteableDatabase() 则会异常
Android 导入db数据
流程:db文件放到assets -> 读db,流转到databases文件夹下 -> sqliteOpenHelper操作
adb查看数据库
- adb shell
- cd data/data/包名/databases
- ls 查看
- sqlite3 库名.db
- .table 查看表
- .chema查看比建表语句
- .exit或.quit退出编辑
- 如果出现无法退出 ...> 模式,则输入.exit;即完成语句加分号
- exit退出