メソッド呼び出しを (json Web サービスから) インターセプトし、結果をローカル SQLite データベースにキャッシュする小さな java.lang.reflect.InvocationHandler を開発しました。インターネット接続がない場合、結果はローカル キャッシュから読み取られます。
すべて正常に動作します。私の問題は次のとおりです。
傍受されたすべてのメソッドは異なるエンティティを返すことができ、リフレクションを使用して各エンティティを異なるテーブルに保存します。作成する必要があるすべてのテーブルを事前に把握していないため、「{ENTITY_NAME} が存在しない場合はテーブルを作成する」という SQLiteOpenHelper を作成するたびに、データベースのバージョンを 1 増やすたびに onUpgrade メソッドが呼び出されます。 .
これは開発環境で機能しますが、私はそれがまったく好きではありません。
データベースを新しいテーブルで更新するためのより良い解決策を誰かが推奨できますか?
ありがとうございました