SQLCipherをSQLiteDbを使用するアプリケーションに統合しています。アプリを起動すると、「アプリケーションが予期せず停止しました」というエラーが表示されます。LogCatを見ると、最初のエラーは「CREATETABLEandroid_metadatafailed」であることがわかります。このアプリケーションに加えた唯一の変更は、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"});
}