現在、アンドロイドアプリでオブジェクト状態を維持する際に問題が発生しています。
私はある種のマルチレベルマスターディテールフローを持っています。
たとえば、私はClient
のリストを持っています。各Client
は複数のOrder
を持ち、各Order
は複数のArticle
を持っています。 - あなたは私がBundle
にClient
を書き、DetailActivity
を開くMasterActivity
でClient
をクリックすると
:今、私は次のようでしたまで
。
- DetailActivity
ではBundle
からClient
を読んで表示しています。アクティビティを変更するときにオブジェクトを保持する
これは多かれ少なかれ細かく機能しましたが、オブジェクトが大きすぎてシリアライズできない場合があります(たとえば、Order
が多いClient
)。
したがって、私はClient
のIDのみをシリアル化し、DetailActivity
のデータベースからロードしたかったのです。通常この方法はうまくいきますが、うまくいかない状況が1つあります。
Article
は、Order
(Master
)を保存したときにのみ保存されます。したがって、Order
に新しいArticle
を作成し、Order
を保存しないと、Article
も保存されません。
つまり、私は常にDetailActivity
の中のデータベースからリロードして、完全なオブジェクトを持つ必要があることを意味します。ただし、それを維持すると、Bundle
を使用すると制限(500kB to 1MB)を超える可能性があります。
私の質問は、このようなデータを永続化させる方法は何ですか?
あなたのソリューションに感謝しますが、私はそれが同じ問題を@ alexanderkulyakhtinのソリューションを持っていると思います。アプリが破壊されたら、私はすべてのデータを失うでしょうか? – Springrbua
私の回答を – Mercury
更新していただき、ありがとうございます。私は解決策について考えて、その解決策を実装しようとします。ありがとう – Springrbua