SQLCipher CREATE TABLE android_metadata失败

时间:2012-05-17 14:00:03

标签: android eclipse string sqlite sqlcipher

我正在使用SQLite Db将SQLCipher集成到一个应用程序中。当应用程序启动时,我收到“应用程序意外停止”错误。当我查看LogCat时,我看到初始错误是“CREATE TABLE android_metadata failed”。我对此应用程序所做的唯一更改是添加代码以集成SQLCIpher。我确定我没有正确编码,但我不确定我错过了什么。以下内容已经完成:

1.java.io.file,info,guardianproject.database.sqlcipher.SQLiteDatabase,android.os.Bundle和android.app.activity已导入。 2. InitializeSQLCipher()已添加到启动活动的onCreate方法

private void InitializeSQLCipher() {
    SQLiteDatabase.loadLibs(this);
    File databaseFile = getDatabasePath ("mydatabase.db");
    databaseFile.mkdirs();
    databaseFile.delete();
    SQLiteDatabase database = SQLiteDatabase.openOrCreateDatabase(databaseFile, "password", null);
    database.execSQL("create table t1(a, b)");
    database.execSQL("insert into t1(a, b) values(?, ?)", new Object[]{"one for the money", "two for the show"});
     }

3 个答案:

答案 0 :(得分:0)

最可能的答案是您尚未将ICU资源文件移动到资产目录中。确保将icu * .zip复制到您的资源文件夹中并将其包含在您的构建中。

答案 1 :(得分:0)

CommonsWare提供了说明该概念的示例代码。请查看here

答案 2 :(得分:0)

删除了“。”来自databasename.db(例如datadasedb)