下午好。
我正在使用以下代码在Android应用程序中创建加密数据库文件:
String dbPath = context.getDatabasePath(NAME_OF_MY_FILE).getPath();
SQLiteDatabase sampleDB = SQLiteDatabase.openOrCreateDatabase(dbPath, "password", null);
这样可以正常工作并创建文件,但在尝试访问此加密文件时,我会收到多个错误,例如:
没有这样的表TABLE_NAME和 文件已加密或不是数据库
我只是使用相同的代码打开文件进行编辑,因为该函数被称为openOrCreateDatabase()
。我假设打开文件的过程与创建相反,并且您传递了原始密码?
请注意我使用了正确的导入:
import net.sqlcipher.database.SQLiteDatabase;
并在SQLiteDatabase.loadLibs(this);
方法中初始化onCreate()
。
如果有任何想法,有人可以指出我哪里出错。
谢谢!
答案 0 :(得分:0)
致电SQLiteDatabase.openOrCreateDatabase
后,您是在那里创建数据库架构,还是在创建net.sqlcipher.datdatabase.SQLiteOpenHelper
的子级别来管理数据库迁移?没有它,你的表名就不存在了。也许你可以展示更多的代码来帮助诊断你所看到的问题。
答案 1 :(得分:0)
你只需要在该电话中传递“密码”。