Androidのための適切な使用のsqlcipher

 アンドロイド・データベースsqlcipherフレームは、android4 android9をサポートするためのSQLCipherベースのデータベースの暗号化は、多くの場合、今音響SQLiteOpenHelperで使用することができる、あなたはandroidxをサポートしたい場合は、ルームのフレームを使用することができる、Gradleの統合をサポートし、アンドロイドSqlLiteを暗号化するために使用します。

まず、中にあなたのbuild.gradleに依存関係を追加します。

実装 'net.zetetic:アンドロイド-データベース-sqlcipher:4.2.0'  
あなたがしたい場合はルームと互換性プログラムが使用githubのページ参照フレームをandroidx。

ここではどのように関連して使用ネイティブAPIのとおりです。

図1は、全てandroid.database.sqlite *変更を全てnet.sqlcipher.database *を導入する、例えばandroid.database.sqlite.SQLiteDatabaseはnet.sqlcipher.database.SQLiteDatabaseを変更.;

2、SQLiteDatabase.loadLibs()を呼び出すアプリケーションのあなたのOnCreateの方法において、パラメータとして渡されたアプリケーション・コンテキスト。

SQLiteDatabase.gを使用した場合3、あなたは)(データベースオブジェクトを取得し、パスワードを渡し、文字列、バイト[]は、パスワードとして[]をchar型サポートしています。

ここでは、ページの紹介として使用するためのガイドですhttps://www.zetetic.net/sqlcipher/sqlcipher-for-android/は、

 

ここでは、使用中に発生する可能性のある問題について話をします

  •  SQLiteDatabase mSQLiteDatabase = helper.getWritableDatabase(GlobalConst.DB_PASSWORD)。  

ガイドのページはのonCreate年に作成されたデータベース・オブジェクトですが、このコードの実際の実装は、通常、約0.8秒、1.5秒、非常に真剣に取り、ネイティブカトンの使用が速くないとは異なり、維持することが推奨されますが、グローバルシングルトンハンドルは、あなたが非同期的にページの読み込みを開始し、グローバル変数や、彼らが非同期操作を使用しているときに、DBオブジェクトを取得する必要があるたびにアプリケーションのデータベースオブジェクトをロードするようにアプリケーションを設定することができ、あなたが、同時に、シングルトンパターンを使用する場合は、各ことを確認するために、 DBオブジェクトデータベース操作はもはや同じスレッド、非同期操作を持つので、すべてのデータ操作の推奨ではありません。

  • パスワードは正しいですが、DBHelperから継承されたものを使用して、類似したオブジェクトの数を持っている場合、開いていないデータは、暗号化キーが動作し、いずれかのこれらのクラスをマージする、またはデータベースを分離することはできませんも同じです

おすすめ

転載: www.cnblogs.com/yjpjy/p/11359595.html