問題タブ [dbflow]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
android - UndeliverableException: android.database.sqlite.SQLiteReadOnlyDatabaseException: 読み取り専用データベースを書き込もうとしています
SQLCipher で DBFlow を使用しています。AndroidでSQLCipherを使用して、既存のSQLiteデータベース(DBFlowを使用)を暗号化しようとしています。
次のコードを使用して DB を暗号化しました。
DB は問題なく暗号化されていますが、操作を書き込もうとすると、次のようになります。
DB モデル:
次に、次の例外を取得します。
io.reactivex.exceptions.UndeliverableException: android.database.sqlite.SQLiteReadOnlyDatabaseException: 読み取り専用データベースを書き込もうとしています (コード 1032 SQLITE_READONLY_DBMOVED[1032])
ここで同様の投稿を見つけましたが、解決策は見つかりませんでした。
また、DBFlow データベースを SQLCipher で暗号化する方法を発見し、実装しました。その後、新しいアプリとしてインストールすると機能しますが、DB を暗号化していない古いアプリの上にこのアプリをインストールすると失敗します。
net.sqlcipher.database.SQLiteException: ファイルはデータベースではありません: 、コンパイル中: select count(*) from sqlite_master;
どうすればこれを修正できますか?