您的位置:首页 > 数据库

SQLiteReadOnlyDatabaseException: attempt to write a readonly database (code 1032)

2016-12-29 14:16 1631 查看
SQLiteReadOnlyDatabaseException: attempt to write a readonly database (code 1032)
是因为res/raw的文件复制过去之后没有读写的权限

于是我想到了第一种解决方法治标不治本:
我去到app的databases目录下对数据库文件进行加权限
chmod 777 xxx

然后就可以正常运行。
但是这种方法对于每次重装app都需要重新跑一次上面的加权限的流程,比较麻烦。

第二种治本:

参考:http://stackoverflow.com/questions/35090893/sqlitereadonlydatabaseexception-attempt-to-write-a-readonly-database-code-1032

原来我是在BaseApplication里面进行复制数据库,但是发现不能写,只可以读,每当插入数据就报上面的错误

后来我参考了stackoverflow后就在DBHelper里面删除后再进行复制,后来就好了

@Override
public void onCreate(SQLiteDatabase db)
{
mContext.deleteDatabase(DB_NAME);
getmDb();
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: