0

下午好。

我正在使用以下代码在 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()方法中初始化。

如果他们有任何想法,有人可以指出我哪里出错了。

谢谢!

4

2 回答 2

0

您只需要在该呼叫中输入“密码”即可。

于 2012-08-13T14:49:39.943 回答
0

在您调用 之后SQLiteDatabase.openOrCreateDatabase,您是在那里创建数据库模式,还是创建一个子类net.sqlcipher.datdatabase.SQLiteOpenHelper来管理数据库迁移?没有它,您的表名将不存在。也许您可以显示更多代码来帮助诊断您遇到的问题。

于 2012-07-16T15:26:52.033 回答