0

我正在使用 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"});
     }
4

3 回答 3

0

删除了“。” 从 databasename.db (egdatabasedb)

于 2012-08-21T18:01:37.787 回答
0

CommonsWare 提供了说明该概念的示例代码。在这里查看。

于 2012-05-20T00:12:26.683 回答
0

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

于 2012-05-18T15:43:54.460 回答