【问题标题】:SQLCipher CREATE TABLE android_metadata failedSQLCipher CREATE TABLE android_metadata 失败
【发布时间】:2012-05-17 14:00:03
【问题描述】:

我正在使用 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、在splash活动的onCreate方法中增加了InitializeSQLCipher()

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"});
     }

【问题讨论】:

标签: android eclipse string sqlite sqlcipher


【解决方案1】:

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

【讨论】:

    【解决方案2】:

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

    【讨论】:

      【解决方案3】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-10-09
        • 2020-02-08
        • 1970-01-01
        • 1970-01-01
        • 2012-08-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多