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

を呼び出した後、SQLiteDatabase.openOrCreateDatabaseそこでデータベーススキーマを作成しますか、それともnet.sqlcipher.datdatabase.SQLiteOpenHelperデータベースの移行を管理するためのサブクラスを作成しますか?それがなければ、テーブル名は存在しません。たぶん、あなたはあなたが見ている問題を診断するのを助けるためにもっと多くのコードを示すことができるでしょう。

于 2012-07-16T15:26:52.033 に答える
0

その呼び出しで「パスワード」を一時停止する必要があります。

于 2012-08-13T14:49:39.943 に答える