0

私は Android アプリケーションを (Java で) 作成しており、onDestroy() が呼び出された後でも、ライフサイクル間でオブジェクトを保存し、それらが確実に保存されるようにしようとしています。私の調査によると、オブジェクトを長期保存するには 3 つの方法があるようです。

1) シリアル化 2) パーセル化可能 3) JSON (具体的には Gson 経由)

さらに、アクティビティ間でこれらのオブジェクトを渡す必要があります。Parcelable は実際にはオブジェクトを保存するためのものではなく、シリアライゼーションは Android では非常に遅く、Intents を介して渡すことを目的としていない可能性があることを知っています。私はまだGsonに精通していません。

寛容でもあるオブジェクトを保存する手段が必要です (つまり、リリースの更新の間にオブジェクトの構造を編集でき、以前のオブジェクトを役に立たなくしたり、そのオブジェクトを新しいバージョンに復元したりできます)。

JSON (特に Gson 経由) は、ライフサイクルを通じてオブジェクトを永続化し、インテント経由でオブジェクトを渡すための最良の方法ですか?

ありがとうございました!

4

2 に答える 2

0

必ずしもJsonデータではないかもしれませんが、おそらくXML、またはSDカードに保存できる生のテキストデータ、またはSDカードが存在しない場合の内部ストレージが機能します。ユーザーがデータを削除しない限り、その方法でデータを保存しても問題はありません。

そこから、データの保存方法を変更することにしたとしても、廃止されたデータを検出してアップグレードするコンバーターを作成できます。

また、インテント パイプラインを介して大量のデータを渡す代わりに、インテントを使用して他のアクティビティにメッセージを渡して、保存されたデータを処理することもできます。

メッセージは、一連のアクションを完了するために受信側のアクティビティによって解釈できる、文字列や整数のような単純なものである可能性があります。

于 2013-06-25T17:45:31.840 に答える